php
  • smarty
  • prestashop
  • 2012-01-21 138 views 0 likes 
    0

    我试图在我的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来自您的安装。不是最好的解决方法,但它的工作原理。

    希望能帮助别人!

    +0

    如果您找到答案,请不要编辑您的问题,[**可以提出并回答您自己的问题**](http://blog.stackoverflow.com/2011/07/its-ok-to-问一答,你自己的问题/)。 –

    回答

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

    这会做同样的事情。

    9是cms page id。你可以在CMS部分找到它。

    相关问题