我对编码很陌生,希望有人可以帮助我。
在Magento Commerce 1.7上我运行了3家商店(3种语言)。我添加了一个锚链接(#example)以指向我们的策略(CMS)页面上的某个位置,该页面在各自语言的所有三个商店中都可用。 但是,每个策略(CMS)页面都有自己的URL语言。要从一个商店切换到另一个商店,我必须在Magento中使用URL重写,以免获得404.
English site: www.example.com/en/policies/#example
German site: www.example.com/de/agb_s/#example
Dutch site: www.example.com/nl/algemene_voorwaarden/#example
然而,URL重写不接受#anchor符号,只是在php代码中的URL末尾添加它意味着只要重写开始它就会消失。
<?php echo $this->getUrl('policies/') ?>#example"
有没有办法将锚写入php或URL重写,这样它就不会丢失?
提前谢谢。
答案 0 :(得分:0)
好的,找到了。
在Magento后端的URL重写中,不允许请求路径中的“#”锚符号,但目标路径中允许使用“#”锚符号 。 所以,在你有链接的phtml文件中,而不是这段代码:
<a href="<?php echo $this->getUrl('policies')?>#example" >example</a>
将代码更改为:
<a href="<?php echo $this->getUrl('policies/example')?>" >example</a>
并在Magento中将此网址重定向到:
URL“policies / example”不存在,但无关紧要。 URL重写会将其重定向到商店各自政策页面上的锚点。 可能不漂亮但它有效!