在tpl文件中激活Prestashop标头链接的链接


Make link active in tpl file for Prestashop header links

我正试图在我的Prestashop安装中编辑tmheaderlinks.tpl中的以下代码,这样当点击"关于我们"时,它将变为"活动",其他链接也是如此:

<ul id="header_links">
<li><a href="{$link->getPageLink('index.php')}"{if $page_name == 'index'} class="active"{/if}>{l s='home' mod='tmheaderlinks'}</a></li>
<li><a href="{$link->getPageLink('prices-drop.php')}"{if $page_name == 'prices-drop'} class="active"{/if}>{l s='specials' mod='tmheaderlinks'}</a></li>
<li><a href="{$link->getPageLink('contact-form.php')}"{if $page_name == 'contact-form'} class="active"{/if}>{l s='contact' mod='tmheaderlinks'}</a></li>
<li><a href="{$link->getPageLink('cms.php?id_cms=14')}"{if $page_name == 'about-us'} class="active"{/if}>{l s='About Us' mod='tmheaderlinks'}</a></li>

Prestashop中的变量$page_name是使用页面的id设置的,因为About Us页面来源于Prestashop的CMS功能,所以id被设置为"CMS",这不是很有用,因为它会使CMS显示的所有页面的链接都处于活动状态。

有没有一个变量可以代替About Us条目的$page_name变量?或者有没有一种方法可以测试页面标题而不是名称,然后将类设置为活动的?

或者,我可以将$page_name变量分配给CMS中"关于我们"页面的特定值(关于我们)吗?

我在Prestashops论坛上看到了一些接近的解决方案,但并不完全是:

http://www.prestashop.com/forums/topic/139344-css-active-in-cms-pages/

任何帮助都将不胜感激!

编辑:我自己解决了这个问题(天知道怎么回事!)使用这条线购买:

    <li><a href="{$link->getPageLink('cms.php?id_cms=14')}"{if {$smarty.server.REQUEST_URI} == '/content/14-about-us'} class="active"{/if}>{l s='About Us' mod='tmheaderlinks'}</a></li>

请记住,您需要将"/content/14 about us"更改为安装中的任何URI。不是最好的解决方案,但它有效。

希望这能帮助到别人!

{if $smarty.get.id_cms == '9'} 

这也是一样的。

CCD_ 1是cmspage id。您可以在CMS部分找到它。