Ответить Новая тема Новый опрос 
 Модуль blockpermanentlinks класс active
magl88


Новичок
Сообщений: 5
Регистрация: 01-07-2015


01-07-2015 05:12
Доброго времени суток !
Я недавно работаю с prestashop и вот столкнулся с проблемой.
На сайте сделано меню с помощью модуля blockpermanentlinks, по сути как я понял там вбиты прямые ссылки на страницы.
Мне надо что бы на когда мы находимся на страницы из этого меню то был класс activ что-бы задать ему стили.
Вот код шаблона
Код:
<!-- Block permanent links module HEADER -->
<section class="header-box blockpermanentlinks-header">
    <ul id="header_links">
        <li class="header_links_home"><a href="{$link->getPageLink('index.html')}">{l s='home' mod='blockpermanentlinks'}</a></li>
        <li class="header_link_"><a {if $smarty.server.QUERY_STRING == 'id_cms=4'}class="active"{/if} href="{$base_dir}cms.php?id_cms=4" title="{l s='О компании' mod='blockpermanentlinks'}">{l s='О компании' mod='blockpermanentlinks'}</a></li>
        <li class="header_link_"><a href="{$link->getPageLink('cms.php?id_cms_category=11')}" {if $page_name == '11-katalog-oborudovaniya'}class="active"{/if}><span>Каталог<br/> оборудования</span></a></li>
        <li class="header_link_"><a href="/index.html?id_cmcontroller=cms">Цены</a></li>
        <li class="header_link_bookmark">
            <script type="text/javascript">writeBookmarkLink('{$come_from}', '{$meta_title|addslashes|addslashes}', '{l s='bookmark' mod='blockpermanentlinks' js=1}');</script>
        </li>
        <li class="header_link_contact"><a href="{$link->getPageLink('contact', true)}" title="{l s='contact' mod='blockpermanentlinks'}">{l s='contact' mod='blockpermanentlinks'}</a></li>
    </ul>
    <div class="mobile-link-top header-button">
        <span class="icon_wrapp">
            <span class="title-hed"></span><i class="arrow_header_top_menu arrow_header_top icon-reorder"></i>
        </span>
        <ul id="mobilelink" class="list_header">
            <li class="header_links_home"><a href="{$link->getPageLink('index.html')}">{l s='home' mod='blockpermanentlinks'}</a></li>
            <li class="header_link_contact"><a href="/index.html?id_cmcontroller=cms" title="{l s='О компании' mod='blockpermanentlinks'}">{l s='О компании' mod='blockpermanentlinks'}</a></li>
            <li class="header_link_contact"><a href="/index.html?id_category=11&controller=category" title="{l s='Каталог оборудования' mod='blockpermanentlinks'}">{l s='Каталог оборудования' mod='blockpermanentlinks'}</a></li>
            <li class="header_link_contact"><a href="/index.html?id_cmcontroller=cms" title="{l s='Цены' mod='blockpermanentlinks'}">{l s='Цены' mod='blockpermanentlinks'}</a></li>
            <li class="header_link_contact"><a href="{$link->getPageLink('contact', true)}" title="{l s='contact' mod='blockpermanentlinks'}">{l s='contact' mod='blockpermanentlinks'}</a></li>
            <li class="header_link_bookmark">
                <script type="text/javascript">writeBookmarkLink('{$come_from}', '{$meta_title|addslashes|addslashes}', '{l s='bookmark' mod='blockpermanentlinks' js=1}');</script>
            </li>
        </ul>
    </div>
</section>
<!-- /Block permanent links module HEADER -->


Как видно я пробую применить класс activ но на сайте он не отображается, что я делаю не так ? это не мой шаблон уже был на сайте
PrestaShop™ 1.5.6.2
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pav31


Профессионал
Сообщений: 418
Откуда: Киев
Регистрация: 28-09-2011


01-07-2015 12:47
Делайте через {$page_name} - зарезервированную переменную престы
Или же через переменные смарти:
http://www.smarty.net/docsv2/ru/language.variabl......bles.smarty.tpl
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
magl88


Новичок
Сообщений: 5
Регистрация: 01-07-2015


01-07-2015 13:36
Цитата:( pav31 @ 01-07-2015 07:47 Смотреть сообщение )
Делайте через {$page_name} - зарезервированную переменную престы
Или же через переменные смарти:
http://www.smarty.net/docsv2/ru/language.variabl......bles.smarty.tpl


не получится !

Код:
<li class="header_link_contact"><a href="/index.html?id_cmcontroller=cms" title="{l s='О компании' mod='blockpermanentlinks'}">{l s='О компании' mod='blockpermanentlinks'}</a></li>


вот например в этой строчке если ставлю { $page_name} то он выводит просто CMS, хотя по логике должен вывести id_cms=4 или about-us
Редактировать сообщение
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pav31


Профессионал
Сообщений: 418
Откуда: Киев
Регистрация: 28-09-2011


01-07-2015 13:54
Цитата:( magl88 @ 01-07-2015 08:36 Смотреть сообщение )
Цитата:( pav31 @ 01-07-2015 07:47 Смотреть сообщение )
Делайте через {$page_name} - зарезервированную переменную престы
Или же через переменные смарти:
http://www.smarty.net/docsv2/ru/language.variabl......bles.smarty.tpl

не получится !

Код:
<li class="header_link_contact"><a href="/index.html?id_cmcontroller=cms" title="{l s='О компании' mod='blockpermanentlinks'}">{l s='О компании' mod='blockpermanentlinks'}</a></li>


вот например в этой строчке если ставлю { $page_name} то он выводит просто CMS, хотя по логике должен вывести id_cms=4 или about-us
Редактировать сообщение


У вас неправильная логика просто. Выдает он всё правильно. Вы же ему id_cms не передаете. А передаете просто название контроллера /index.html?id_cmcontroller=cms
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
magl88


Новичок
Сообщений: 5
Регистрация: 01-07-2015


01-07-2015 14:06
Мне вот подсказали что можно использовать
- smarty.server.REQUEST_URI = "/content/4-about-us".
- smarty.get.id_cms = "4".
и оно как бы мне подходит НО проблема в том что эти переменные у меня постоянные то есть после изменения кода я захожу на сайт и там подставляются эти параметры и когда перехожу на другую страницу они не меняются
То есть урл у меня уже "/content/7-ceny" а smarty.server.REQUEST_URI = "/content/4-about-us" всё равно
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pav31


Профессионал
Сообщений: 418
Откуда: Киев
Регистрация: 28-09-2011


01-07-2015 14:13
К примеру для страницы:
Код:
<li class="header_link_"><a href="{$base_dir}cms.php?id_cms=4" title="{l s='О компании' mod='blockpermanentlinks'}">{l s='О компании' mod='blockpermanentlinks'}</a></li>


проверка будет такая:
Код:
{if $page_name == 'cms'}
  {if $smarty.get.id_cms == 4}
     выводим класс active
  {/if}
{/if}



Сообщение отредактировано pav31 01-07-2015 09:13 ...
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
magl88


Новичок
Сообщений: 5
Регистрация: 01-07-2015


01-07-2015 14:36
Спасибо помогло !
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос