2010-03-16 70 views
2

使用的飼料模塊遺留的網站導入內容後,我留下了包含鏈接回到舊網站的節點機構。Drupal的模塊來處理每一個節點的身體

是否有一個Drupal模塊將執行一次性過程來遍歷每個節點,使用一些自定義代碼操縱節點的內容?

回答

2

您可以輕鬆編寫一個PHP腳本來遍歷node_revisions表並在那裏處理。如果您對自定義代碼感到滿意,那可能是最快的方法。

0

您可以用一次運行它的意圖編寫自己的模塊。有一個Drupal的hook_init()可以用來在模塊打開時觸發代碼,並且頁面被加載。在該函數中,您可以使用db_query針對節點表中的所有節點進行查詢,遍歷每個節點並在要更改的鏈接上執行preg_replace。修改$ node對象之後,在循環結尾使用node_save($ node)來保存節點更改。

或者,您可以使用鏈接檢查器,路徑重定向和/或全局重定向等模塊將舊路徑鏈接到新路徑並查找斷開的鏈接。

0

逾期答案,但無論如何。 有一個pathologic模塊可用於修復節點中的鏈接。例如,使其絕對或重寫主機部分。

相關問題