Данный пост рассчитан на тех, кто только начинает работать с LS, надеюсь что кому-то будет полезным. На написание этого поста сподвигло следующее: надо было добавить ещё одну статичную страницу и отображать её в TopMenu, автоматом это не происходит, а документации как это сделать, найти не смог. Рассмотрим добавление на примере страницы «FAQ»
Сохраняем и получаем страницу, доступную по адресу: mysite.ru/page/faq/, но задача стоит не только иметь страницу, но и как-то переходить на неё, да ещё, желательно, по-человечи. Для этого открываем /templates/skin/new/header_top.tpl (рассмотрено на примере скина «new» из стандартной поставки), ищем там вот такие строки:
<li {if $sAction=='page' and $sEvent=='faq'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/faq/">FAQ</a></li>
Вот такая нехитрая операция позволяет добавлять в меню дополнительные пункты. Надеюсь, в следующих версиях это будет делаться автоматом, как в большинстве CMS.
Тут надо учесть еще один момент, с которым я столкнулся на собственном опыте.
В файле stylе.css нужно будет увеличить минимальный размер контейнера содержащего в себе пункты меню, иначе, при использовании некоторых нестандартных шаблонов, у владельцев маленьких мониторов или при уменьшенном окне браузера информация о аккаунте будет заползать под пункты меню.
Для этого в файле stylе.css нужно изменить размер в данной строчке
#container { min-width: 1050px; }
У меня стоит 1500px для 2-х добавленных пунктов меню, если добавляете 1 — сверните окно до тех пор, пока данные о пользователе не сползут под пункты меню и играйтесь со значением.
<li {if $sAction=='page' and $sEvent=='faq'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/faq/">FAQ</a></li>
В данном примере вы испольузете голый текст «FAQ» (/faq/">FAQ) вместо вывода {$aLang.page_faq}. Конечно, для того, чтобы это сработало нужно будет отредактировать еще один файл: /templates/language/modules/page/russian.php. Нужно добавить туда значение {$aLang.page_faq}
'page_faq' => 'FAQ',
Но зато, если ссылок на страницу FAQ больше одной, то текст ссылки достаточно поменять только в языковом файле
Не подскажете, а как прописать обычную ссылку (на другой сайт, на блог нашего сайта), чтобы она могла становиться активной при переходе (смена шрифта)?
6 комментариев
В файле stylе.css нужно будет увеличить минимальный размер контейнера содержащего в себе пункты меню, иначе, при использовании некоторых нестандартных шаблонов, у владельцев маленьких мониторов или при уменьшенном окне браузера информация о аккаунте будет заползать под пункты меню.
Для этого в файле stylе.css нужно изменить размер в данной строчке
У меня стоит 1500px для 2-х добавленных пунктов меню, если добавляете 1 — сверните окно до тех пор, пока данные о пользователе не сползут под пункты меню и играйтесь со значением.
В данном примере вы испольузете голый текст «FAQ» (/faq/">FAQ) вместо вывода {$aLang.page_faq}. Конечно, для того, чтобы это сработало нужно будет отредактировать еще один файл: /templates/language/modules/page/russian.php. Нужно добавить туда значение {$aLang.page_faq}
Но зато, если ссылок на страницу FAQ больше одной, то текст ссылки достаточно поменять только в языковом файле