0

我创建了一个包含指向另一个页面的链接的块。该块位于所有页面的页脚中。

<a href="terms_and_conditions">Terms and Conditions</a>

这适用于具有...的 URL 的页面

http://mywebs.localhost/site1/page1

该链接正确解析为:

http://mywebs.localhost/site1/terms_and_conditions

(其中“page1”是“URL 路径设置”中的一个值,即使用“路径”模块为 /node/56 创建别名)

但是当我转到作为 ubercart 模块一部分的页面时......

http://mywebs.localhost/site1/cart/checkout

块中的链接错误地解析为...

http://mywebs.localhost/site1/cart/terms_and_conditions

显然,如果我使用完整的绝对链接,我可以让它工作,但我希望它在我上传到远程主机时工作,而不必更改所有内容。

有很多关于相对路径的文档和问题。但据我所知,这与页面内容部分中的链接有关。谁能指出我正确的方向。

4

2 回答 2

2

为什么不只是<a href="/terms_and_conditions">Terms and Conditions</a>?尝试在路径前加上斜杠。

只是阅读评论,对不起,我看到允许 PHP 输入的其他方式
<?php print l('Terms and Conditions', 'terms_and_conditions'); ?>

但是,如果没有 php 输入,您可以使用http://drupal.org/project/shortcode,它允许将带有 url 的令牌转换为完整的链接,就像在 WordPress 中一样。

于 2012-05-11T23:33:50.143 回答
0

您应该使用url()函数或$base_url来生成链接

<a href="<?php echo url('terms_and_conditions'); ?>">Terms and Conditions</a>

或者

<a href="<?php global $base_url; echo $base_url; ?>/terms_and_conditions">Terms and Conditions</a>
于 2012-05-10T12:23:11.417 回答