Я намагаюся використовувати Views для завантаження вузлів з іншої бази даних Drupal, визначеної settings.php, з ключем 'cms'. Обидва сайти є Drupal 7. Інша база даних - інша установка Drupal, яка діє як сховище вмісту або централізована CMS. Моя мета - створити новий тип / групу перегляду на цільовому сайті, тому при створенні перегляду для складання сайту можна вибрати "CMS Content" замість "Content". Я сподіваюся, що конструктор сайтів зможе тоді створити перегляд, як правило, на основі типів вмісту та контенту з централізованого сайту CMS, навіть якщо мені доведеться розповідати погляди про всі поля кожного типу вмісту.
У моїй реалізації kuk_views_data () я встановив ключ "база даних", але не можу зрозуміти, як читати з таблиці вузлів, не змінюючи $ data ['node'].
function cms_connector_views_data() {
$data['cms_connector']['table']['group'] = t('CMS Content');
$data['cms_connector']['table']['base'] = array(
'field' => 'nid',
'title' => t('CMS Content'),
'help' => t('Content from the centralized CMS.'),
'database' => 'cms',
);
return $data;
}
Звичайно, це не шукає таблицю вузлів, вона шукає cms_connector
таблицю в моїй cms
базі даних, якої не існує.
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cms.cms_connector' doesn't exist
http://views-help.doc.logrus.com/help/views/api-tables говорить, що ключ у $ data…
має бути фактичним ім'ям бази даних таблиці (не включаючи префікс), але це може бути псевдонім до тих пір, поки інформація про з'єднання (пояснена далі) містить реальну назву таблиці.
Я насправді не хочу робити об'єднання, я хочу створити базову таблицю з таблиці вузлів іншої бази даних. Але я все-таки спробував це (хоча це насправді не має сенсу), побачивши http://drupal.org/node/1713010#comment-6310438 :
$data['cms_connector']['table']['join'] = array(
'node' => array(
'left_field' => 'nid',
'left_table' => 'node',
'field' => 'nid',
'table' => 'node',
),
);
Я шукав тут, виконайте та переповнення стека, але більшість того, що я знаходжу, - це "Інша-інша база даних-для-Drupal", а не "Drupal-to-Drupal".
Тут я знайшов питання /drupal/12736/using-nodes-from-another-site-database , але це стосується посилань на вузли і не відповідає.
Я думав про використання Служб для читання XML / JSON з централізованого сайту, але занадто багато перешкод у цьому підході. Я теж не хочу синхронізувати вузли.