我有3個drupal站點。 2個drupal站點是公共站點(.com站點),第三個站點是防火牆後面的內部站點。防火牆後面的站點運行在Linux和MySQL上,但是從辦公室MS-SQL中提取數據並從中創建節點。問題是:Drupal內容同步
如何從辦公室drupal站點更新其他2個drupal站點內容?
注意:我可能不需要公共站點中的所有字段與內部站點中的所有字段相同。我希望有一個設置,不僅可以將內容推送到兩個外部站點,而且如果內部站點更新節點,還可以在外部站點更新內容。
謝謝。
我有3個drupal站點。 2個drupal站點是公共站點(.com站點),第三個站點是防火牆後面的內部站點。防火牆後面的站點運行在Linux和MySQL上,但是從辦公室MS-SQL中提取數據並從中創建節點。問題是:Drupal內容同步
如何從辦公室drupal站點更新其他2個drupal站點內容?
注意:我可能不需要公共站點中的所有字段與內部站點中的所有字段相同。我希望有一個設置,不僅可以將內容推送到兩個外部站點,而且如果內部站點更新節點,還可以在外部站點更新內容。
謝謝。
您可以在外部網站上使用Feeds module來輪詢辦公室網站的內容並導入新的和更新的內容。由於您可能不需要外部網站上的所有字段,因此Feeds會讓您將所需的字段映射到辦公室網站的外部網站上的字段。
根據您需要從辦公室網站獲得的數據,您可能需要使用Views來自定義可用的訂閱源。
一種工具而不是現成的解決方案,但我使用CodeServer來將設置和內容從一個站點同步到另一個站點。摘自專案頁面:
<?php
// Set the node id of the node we are going to copy.
$nid = 1234;
// Instantiate CodeServer using the configuration named 'my_remote_site'.
$remote = new CodeServer('my_remote_site');
// Load a node from the remote site.
$node = $remote->node_load($nid);
// Save the node on the local site.
node_save($node);
?>
@Mamoun好點,我現在編輯我的帖子。 –
感謝您的快速回答。我無法從辦公室網站上獲取內容,因爲它位於防火牆後面,這就是爲什麼我以某種方式將內容推送到外部網站。你知道我可以用Feeds模塊或其他模塊來做到嗎? –
@redhatlab - 提要可以從服務器本地文件系統上的文件讀取。只需讓您的辦公場所定期將文件上傳到服務器,然後讓Feed每隔X分鐘讀取一次該文件。 – Greg
@redhatlab在這種情況下,發佈和訂閱模塊應該做你正在尋找的東西:http://drupal.org/project/publish http://drupal.org/project/subscribe –