我有兩個Drupal站點託管在不同的服務器上。主要他們需要單獨操作,但site1有一個特定的內容類型,我想在site2的列表中顯示。Drupal - 使用views_embed_view與外部Drupal站點
我不能簡單地使用Feed導入,因爲原始文件必須保留,如果進行編輯,這些更改會立即反映在這兩個網站上。 Site2不需要編輯內容 - 只顯示它。
該內容已在網站1的列表中呈現。該列表是使用視圖創建的。
我的意圖是在自定義模塊中使用以下代碼調用site2上的視圖。
function site2_menu() {
$items = array();
$items['content-from-site1'] = array(
'title' => 'Content from Site1',
'page callback' => 'site_two_list',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
function site2_list() {
db_set_active('site1');
$content = views_embed_view('articles', 'default');
db_set_active('default');
return $content;
}
site1 DB在settings.php文件中定義。
但是這不會返回任何數據。在Site1上使用相同的方法(無需切換DB)可以正常工作。
我是否過於樂觀地希望這種方法能夠奏效,還是我錯過了一些明顯的東西?
如果這不可行,那麼替代方案會是什麼?我可以做我自己的SQL查詢,但我更願意使用視圖內置參數,分頁,模板等。
謝謝。
您需要使用iframe在site2中顯示site1信息。 –
@ viswanath-polaki - 不需要使用iFrame在另一個Drupal站點顯示信息。 Drupal支持數據庫的即時更改。這僅僅是讓語法正確的一個例子。 – sagraham