2011-03-19 68 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