2011-03-19 67 views
1

一些背景資料,如果你想知道爲什麼我在做我在做什麼:修改菜單導航,包括域

我有一位客戶,誰想要與WordPress上單獨做了一個新的博客子域。他們現有的網站在Drupal上,我之前有過0次的經驗。他們在該網站(多個級別)上有相當廣泛的導航,所以我不使用導航菜單的副本來創建需要在wordpress和drupal上更新的導航菜單,而是使用YQL將整個導航引入Wordpress網站。我知道這對搜索引擎優化並不好,但在這一點上我並不擔心這一點。

我遇到的問題是,Drupal網站上的所有鏈接都沒有包含http://domain.com,因此這些鏈接在博客網站上都沒有工作,因爲他們要去那個子域的相關頁面,存在。

因此,在總結,我想要做到:

我需要每個HREF是Drupal是產生於以「http://domain.com」。目前他們只是以'/ pagename'開頭。我不知道該網站的Drupal版本以及如何找到它,對不起。該網站也使用Drupal的Nice Menu插件。我現在一直在挖掘這些文件幾個小時,並且無法弄清楚我需要進行更改的位置。請幫忙!由於


編輯:使用custom_url_rewrite_outbound到settings.php這個 dobeerman提及。這似乎完成了我想要的。我嘗試添加這settings.php文件的末尾:

function custom_url_rewrite_outbound(&$path, &$options, $original_path) { 
    global $user; 
    $path = 'http://www.reillypainting.com/'.$path; 
} 

然而,在菜單中的HREF的最終結果變成下面這個例子:

href="/http%3A/%252Fwww.reillypainting.com/services/sell/rent-your-house" 

所以其他代碼生成Drupal的菜單正在努力爲了逃避://並且它還在href的開頭添加了一個/。任何人都知道如何避免這一點?

回答

1

Drupal有功能custom_url_rewrite_outbound您可以添加到settings.php這個

使用此代碼

function custom_url_rewrite_outbound(&$path, &$options, $original_path) { 
    $options['absolute'] = 1; 
} 
+0

真棒,謝謝!這看起來正是我所需要的。我很接近: 我試着將這個添加到settings.php的末尾: function custom_url_rewrite_outbound(&$ path,&$ options,$ original_path){ global $ user; $ path ='http://www.reillypainting.com/'.$path; } 這是輸出鏈路的示例結果: Sell/Rent Your House 所以看起來創建的網址是試圖逃跑的代碼://,並且它也仍然加入了/在開始。知道接下來要嘗試什麼? – joren 2011-03-19 20:42:49

+0

在你的功能中使用$ options ['absolute'] = 1 – dobeerman 2011-03-20 00:32:58

+0

你搖滾,非常感謝你! – joren 2011-03-20 01:10:16