Сделайте ссылку активной в файле TPL для ссылок заголовка Prestashop - PullRequest
0 голосов
/ 21 января 2012

Я пытаюсь отредактировать следующий код в tmheaderlinks.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>

Переменная $ page_name в Prestashop задается с использованием идентификатора страницы, и поскольку страница «О нас» получена из функции CMS в Prestashop, для идентификатора установлено значение «cms», что не очень полезно, поскольку сделать ссылку активной для всех страниц, отображаемых в CMS.

Есть ли переменная, которую я могу использовать, которая может заменить переменную $ page_name для записи О нас? Или есть способ проверить заголовок страницы вместо имени и затем установить класс как активный?

Или я могу присвоить переменной $ page_name определенное значение (about-us) для страницы About Us в 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 из вашей установки. Не лучшее решение, но оно работает.

Надеюсь, это кому-нибудь поможет!

1 Ответ

3 голосов
/ 03 сентября 2012
{if $smarty.get.id_cms == '9'} 

это сделало бы то же самое.

9 - это смс page id. Вы можете найти его в разделе CMS.

...