Sto cercando di usare Views per caricare nodi da un altro database Drupal definito in settings.php con una chiave di 'cms'. Entrambi i siti sono Drupal 7. L'altro database è un'installazione Drupal diversa che funge da repository di contenuti o CMS centralizzato. Il mio obiettivo è quello di creare un nuovo tipo / gruppo di vista sul sito di destinazione, quindi quando si crea una vista la build del sito può scegliere "Contenuto CMS" anziché "Contenuto". Spero che un costruttore di siti sarebbe quindi in grado di costruire una vista normalmente basata su tipi di contenuto e contenuti dal sito CMS centralizzato, anche se devo dire visualizzazioni su tutti i campi di ciascun tipo di contenuto.
Nella mia implementazione hook_views_data () ho impostato la chiave 'database', ma non riesco a capire come leggere dalla tabella dei nodi senza sovrascrivere $ 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;
}
Ovviamente questo non cerca una tabella dei nodi, cerca una cms_connector
tabella nel mio cms
database, che non esiste.
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 afferma che la chiave all'interno di $ data ...
dovrebbe essere il nome effettivo del database della tabella (escluso il prefisso), ma può essere un alias purché le informazioni di join (spiegate più avanti) contengano il vero nome della tabella.
In realtà non voglio fare un join, voglio creare una tabella di base dalla tabella dei nodi dell'altro database. Ma l'ho provato comunque (anche se non ha davvero senso) dopo aver visto 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',
),
);
Ho cercato da queste parti, fare e Stack Overflow, ma la maggior parte di ciò che sto trovando è Some-other-database-to-Drupal, non Drupal-to-Drupal.
Ho trovato la domanda /drupal/12736/using-nodes-from-another-site-database qui, ma riguarda i riferimenti ai nodi ed è senza risposta.
Ho pensato di utilizzare i servizi per leggere XML / JSON dal sito centralizzato, ma ci sono troppi ostacoli a questo approccio. Non voglio nemmeno sincronizzare i nodi.