ฉันพยายามใช้ Views เพื่อโหลดโหนดจากฐานข้อมูล Drupal อื่นที่กำหนดใน settings.php ด้วยคีย์ 'cms' ทั้งสองไซต์เป็น Drupal 7 ฐานข้อมูลอื่นคือการติดตั้ง Drupal ที่แตกต่างกันซึ่งทำหน้าที่เป็นที่เก็บเนื้อหาหรือ CMS ส่วนกลาง เป้าหมายของฉันคือการสร้างประเภท / กลุ่มการดูใหม่บนไซต์ปลายทางดังนั้นเมื่อสร้างมุมมองการสร้างไซต์สามารถเลือก "เนื้อหา CMS" แทน "เนื้อหา" ฉันหวังว่าผู้สร้างไซต์จะสามารถสร้างมุมมองตามปกติตามประเภทเนื้อหาและเนื้อหาจากไซต์ CMS ส่วนกลางแม้ว่าฉันจะต้องบอกมุมมองเกี่ยวกับฟิลด์ทั้งหมดในแต่ละประเภทเนื้อหา
ในการใช้งาน hook_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',
),
);
ฉันค้นหารอบ ๆ ที่นี่ทำและ Stack Overflow แต่สิ่งที่ฉันค้นหาส่วนใหญ่คือ Some-other-database-to-Drupal ไม่ใช่ Drupal-to-Drupal
ฉันพบ/drupal/12736/using-nodes-from-another-site-databaseคำถามที่นี่ แต่มันเกี่ยวกับการอ้างอิงโหนดและยังไม่ได้รับคำตอบ
ฉันคิดเกี่ยวกับการใช้บริการเพื่ออ่าน XML / JSON จากไซต์รวมศูนย์ แต่มีข้อ จำกัด มากมายสำหรับวิธีการดังกล่าว ฉันไม่ต้องการซิงโครไนซ์โหนดด้วยเช่นกัน