Estou tentando usar o Views para carregar nós de outro banco de dados Drupal definido em settings.php com uma chave de 'cms'. Os dois sites são o Drupal 7. O outro banco de dados é uma instalação diferente do Drupal, que atua como repositório de conteúdo ou CMS centralizado. Meu objetivo é criar um novo tipo / grupo de visualizações no site de destino, portanto, ao criar uma visualização, a compilação do site pode escolher "Conteúdo do CMS" em vez de "Conteúdo". Espero que um construtor de sites possa criar uma exibição normalmente com base nos tipos de conteúdo e no conteúdo do site centralizado do CMS, mesmo que eu precise fornecer exibições sobre todos os campos em cada tipo de conteúdo.
Na minha implementação hook_views_data (), configurei a chave 'database', mas não consigo descobrir como ler a tabela de nós sem substituir $ 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;
}
Claro que isso não procura uma tabela de nós, mas sim uma cms_connector
tabela no meu cms
banco de dados, que não existe.
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 diz que a chave em $ data…
deve ser o nome real do banco de dados da tabela (sem incluir o prefixo), mas pode ser um alias desde que as informações de junção (explicadas mais adiante) contenham o nome real da tabela.
Na verdade, não quero fazer uma junção, quero criar uma tabela base a partir da tabela de nós do outro banco de dados. Mas tentei mesmo assim (mesmo que não faça sentido) depois de ver 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',
),
);
Eu pesquisei por aqui, fiz e Stack Overflow, mas a maior parte do que estou descobrindo é Some-other-database-to-Drupal, não Drupal-to-Drupal.
Encontrei a questão /drupal/12736/using-nodes-from-another-site-database aqui, mas é sobre referências de nós e não foi respondida.
Pensei em usar o Services para ler XML / JSON no site centralizado, mas há muitos obstáculos nessa abordagem. Também não quero sincronizar nós.