Saya mencoba menggunakan Views untuk memuat node dari database Drupal lain yang didefinisikan di settings.php dengan kunci 'cms'. Kedua situs tersebut adalah Drupal 7. Database lainnya adalah instalasi Drupal berbeda yang bertindak sebagai repositori konten atau CMS terpusat. Tujuan saya adalah membuat tipe tampilan / grup baru di situs tujuan, jadi saat membuat tampilan, situs dapat memilih "Konten CMS" alih-alih "Konten". Saya berharap pembuat situs kemudian dapat membangun tampilan secara normal berdasarkan jenis konten dan konten dari situs CMS terpusat, bahkan jika saya harus memberi tahu pandangan tentang semua bidang di setiap jenis konten.
Dalam implementasi hook_views_data () saya, saya telah menetapkan kunci 'database', tetapi tidak dapat menemukan cara membaca dari tabel node tanpa mengganti $ 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;
}
Tentu saja ini tidak mencari tabel simpul, ini mencari cms_connector
tabel di cms
basis data saya , yang tidak ada.
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 mengatakan bahwa kunci dalam $ data ...
harus nama database aktual dari tabel (tidak termasuk awalan), tetapi bisa berupa alias selama informasi yang digabungkan (dijelaskan nanti) berisi nama sebenarnya dari tabel.
Saya sebenarnya tidak ingin melakukan join, saya ingin membuat tabel dasar dari tabel simpul database lain. Tapi saya tetap mencoba ini (walaupun itu tidak masuk akal) setelah melihat 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',
),
);
Saya telah mencari di sekitar sini, melakukan, dan Stack Overflow, tetapi sebagian besar dari apa yang saya temukan adalah database-lain-untuk-Drupal, bukan Drupal-ke-Drupal.
Saya menemukan /drupal/12736/using-nodes-from-another-site-database di sini, tapi ini tentang referensi node, dan tidak terjawab.
Saya berpikir tentang menggunakan Layanan untuk membaca XML / JSON dari situs terpusat, tetapi ada terlalu banyak rintangan untuk pendekatan itu. Saya juga tidak ingin menyinkronkan node.