我试图在我的Prestashop安装中编辑tmheaderlinks.tpl中的以下代码,以便在单击“关于我们”时它将变成“活动”,其他链接:使链接在tpl文件中处于活动状态Prestashop标题链接
<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设定,因为我们页是从的Prestashop的CMS功能源,该ID设置为“ cms',它不是非常有用,因为它会使得从CMS显示的所有页面都处于活动状态。
是否有一个变量我可以使用它可以替换关于我们条目的$ page_name变量?或者是否有一种测试页面标题而不是名称的方法,然后将该类设置为活动状态?
或者我可以将$ page_name变量分配给CMS中关于我们页面的特定值(about-us)吗?
我见过一对夫妇差点上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>
请记住,你需要改变“/内容/ 14-关于美”到什么您的URI来自您的安装。不是最好的解决方法,但它的工作原理。
希望能帮助别人!
如果您找到答案,请不要编辑您的问题,[**可以提出并回答您自己的问题**](http://blog.stackoverflow.com/2011/07/its-ok-to-问一答,你自己的问题/)。 –