Views.php 'cms' bir anahtar ile tanımlanan başka bir Drupal veritabanından düğümleri yüklemek için Views kullanmaya çalışıyorum. Her iki site de Drupal 7'dir. Diğer veritabanı, içerik deposu veya merkezi CMS işlevi gören farklı bir Drupal yüklemesidir. Amacım, hedef sitede yeni bir görünüm türü / grubu oluşturmaktır. Bu nedenle, bir site oluştururken site yapısı "İçerik" yerine "CMS İçeriği" ni seçebilir. Bir site oluşturucunun, her içerik türündeki tüm alanlarla ilgili görünümleri söylemek zorunda kalsam bile, normalde merkezi CMS sitesinden içerik türlerine ve içeriğe dayalı bir görünüm oluşturabileceğini umuyorum.
Hook_views_data () uygulamamda 'database' anahtarını ayarladım, ancak $ data ['node'] geçersiz kılmadan düğüm tablosundan nasıl okunacağını anlayamıyorum.
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;
}
Tabii ki bu bir düğüm tablosu aramıyor, veritabanımda var olmayan bir cms_connector
tablo arıyor 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 içindeki anahtarın…
tablonun gerçek veritabanı adı olmalıdır (önek dahil değil), ancak birleştirme bilgileri (daha sonra açıklanacaktır) tablonun gerçek adını içerdiği sürece bir takma ad olabilir.
Aslında katılmak istemiyorum, diğer veritabanının düğüm tablosundan bir temel tablo oluşturmak istiyorum. Ama http://drupal.org/node/1713010#comment-6310438'i gördükten sonra yine de (gerçekten mantıklı olmasa da) denedim :
$data['cms_connector']['table']['join'] = array(
'node' => array(
'left_field' => 'nid',
'left_table' => 'node',
'field' => 'nid',
'table' => 'node',
),
);
Burada, yaptım ve Stack Overflow aradım, ama bulduğum çoğu Drupal-Drupal değil, bazı-diğer-veritabanı-Drupal olduğunu.
Https://drupal.stackexchange.com/questions/12736/using-nodes-from-another-site-database sorusunu burada buldum , ancak düğüm referanslarıyla ilgili ve cevapsız.
Merkezi siteden XML / JSON okumak için Hizmetleri kullanmayı düşündüm, ancak bu yaklaşımın önünde çok fazla engel var. Düğümleri de gerçekten senkronize etmek istemiyorum.