Tôi đang cố gắng sử dụng Chế độ xem để tải các nút từ cơ sở dữ liệu Drupal khác được xác định trong settings.php với khóa 'cms'. Cả hai trang web đều là Drupal 7. Cơ sở dữ liệu khác là một bản cài đặt Drupal khác, hoạt động như một kho lưu trữ nội dung hoặc CMS tập trung. Mục tiêu của tôi là tạo ra một loại / nhóm chế độ xem mới trên trang đích, vì vậy khi tạo chế độ xem, bản dựng trang có thể chọn "Nội dung CMS" thay vì "Nội dung". Tôi hy vọng một người xây dựng trang web sau đó có thể xây dựng chế độ xem bình thường dựa trên các loại nội dung và nội dung từ trang CMS tập trung, ngay cả khi tôi phải nói quan điểm về tất cả các trường trong từng loại nội dung.
Trong triển khai hook_view_data () của tôi, tôi đã đặt khóa 'cơ sở dữ liệu', nhưng không thể tìm ra cách đọc từ bảng nút mà không ghi đè $ data ['nút'].
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;
}
Tất nhiên điều này không tìm kiếm một bảng nút, nó tìm một cms_connector
bảng trong cms
cơ sở dữ liệu của tôi , không tồn tại.
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cms.cms_connector' doesn't exist
http://view-help.doc.logrus.com/help/view/api-tables nói rằng khóa trong $ data.
phải là tên cơ sở dữ liệu thực tế của bảng (không bao gồm tiền tố), nhưng nó có thể là bí danh miễn là thông tin tham gia (giải thích sau) có chứa tên thật của bảng.
Tôi thực sự không muốn tham gia, tôi muốn tạo một bảng cơ sở từ bảng nút của cơ sở dữ liệu khác. Nhưng dù sao tôi cũng đã thử điều này (mặc dù nó không thực sự có ý nghĩa) sau khi xem 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',
),
);
Tôi đã tìm kiếm xung quanh đây, làm và Stack Overflow, nhưng hầu hết những gì tôi tìm thấy là Một số cơ sở dữ liệu khác đến Drupal, không phải Drupal-to-Drupal.
Tôi đã tìm thấy /drupal/12736/USE-nodes-from-another-site-database ở đây, nhưng đó là về các tham chiếu nút và chưa được trả lời.
Tôi đã nghĩ về việc sử dụng Dịch vụ để đọc XML / JSON từ trang web tập trung, nhưng có quá nhiều rào cản đối với cách tiếp cận đó. Tôi cũng không thực sự muốn đồng bộ hóa các nút.