2014-01-31 51 views
0

我對編碼非常陌生,希望有人能幫助我。Magento:如何在URL重寫中包含錨鏈接

關於Magento Commerce 1.7我正在運行3家商店(3種語言)。我添加了一個錨鏈接(#example)以指向我們的策略(CMS)頁面上的某個位置,該頁面在所有三家商店中均以其各自的語言提供。 但是,每個政策(CMS)頁面都有自己的網址,並使用它的語言。爲了從一個商店切換到另一個我不得不使用URL重寫在Magento以免得到一個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

好的,找到它了。

在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重定向到:

  • 英文店:政策/示例 - >政策/#示例
  • 德國商店:政策/示例 - > agb_s /#示例
  • 荷蘭店:政策/例子 - > algemene_voorwaarden /#例如

的URL 「政策/例如」 不存在,但是這並不重要。 URL重寫將重定向到商店各自策略頁面上的錨點。 可能不漂亮,但它的作品!