Вопрос по автоматическому формированию меню
6
Добрый вечер!
Интересует, как можно формировать меню страниц (page) автоматически?
Я добавил в header_top нужные разделы, а хочу, чтобы при нажатии на любой из них снизу в подменю перечислялись подразделы текущего. Я понял, что надо создать файл menu.page.tpl, однако это мне не помогло.
Надеюсь на вашу помощь! Заранее спасибо.
Интересует, как можно формировать меню страниц (page) автоматически?
Я добавил в header_top нужные разделы, а хочу, чтобы при нажатии на любой из них снизу в подменю перечислялись подразделы текущего. Я понял, что надо создать файл menu.page.tpl, однако это мне не помогло.
Надеюсь на вашу помощь! Заранее спасибо.
- 0
- 17 сентября 2009, 21:21
- Hitman
Нужно вывести подстраницы страниц, как это сделано в БЛОГАХ напримет.
Т.е. к примеру у нас есть статическая страница FAQ, у неё есть подстраницы. Ссылка на FAQ прописывается в header_top.tpl темы так:
Как сделать так, чтобы при переходе по ссылке отображались и подстраницы страницы FAQ?
Т.е. к примеру у нас есть статическая страница FAQ, у неё есть подстраницы. Ссылка на FAQ прописывается в header_top.tpl темы так:
<li {if $sAction=='page' and $sEvent=='faq'}class="active"{/if}><a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/faq/">{$aLang.page_faq}</a></li>Как сделать так, чтобы при переходе по ссылке отображались и подстраницы страницы FAQ?

- karapuzoff
- 10 марта 2010, 22:40
- ↑
- ↓
Ну вот, теперь более внятно все объяснил.
Если в actions/ActionPage/page.tpl самую первую строку запишешь так:
Если есть желание для каждой страницы свой файл-меню сделать, то можно так:
Если в actions/ActionPage/page.tpl самую первую строку запишешь так:
{include file='header.tpl' menu=page}то шаблонизатор в качестве меню будет использовать шаблон menu.page.tpl. Но в этом случае в самом шаблоне должна быть логика, которая выводит в меню подстраницы.Если есть желание для каждой страницы свой файл-меню сделать, то можно так:
{include file='header.tpl' menu="page.$sEvent"}тогда для страницы faq будет цепляться файл menu.page.faq.tpl, для страницы about — menu.page.about.tpl, и т.д.
Огромное спасибо! Теперь все работает.
Огорчает, что это не предусмотрено по-умолчанию =(
Огорчает, что это не предусмотрено по-умолчанию =(

- karapuzoff
- 11 марта 2010, 09:01
- ↑
- ↓
Еще маленький вопрос: url страницы получаем переменной $sEvent, а как получить URL подстраницы?

- karapuzoff
- 11 марта 2010, 10:28
- ↑
- ↓
Опять невнятный вопрос. Какой подстраницы? Где?
Если речь о том, как получить урл текущей страницы в шаблоне то $oPage->getUrl()
Если речь о том, как получить урл текущей страницы в шаблоне то $oPage->getUrl()
Именно то, что нужно. Спасибо.
З.Ы. Как бы Вы внятно сформулировали вопрос, будучи только изучающим все тонкости движка?
З.Ы. Как бы Вы внятно сформулировали вопрос, будучи только изучающим все тонкости движка?

- karapuzoff
- 11 марта 2010, 10:44
- ↑
- ↓
если у меня используется такая структура для многоязычности:
{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/{$oLang->lang}/advert/
$sEvent возвращает только первый уровень {$oLang->lang}
как мне получить advert, чтобы выяснить текущую активную страницу?
{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PAGE}/{$oLang->lang}/advert/
$sEvent возвращает только первый уровень {$oLang->lang}
как мне получить advert, чтобы выяснить текущую активную страницу?
Комментарии (18)
RSS свернуть / развернуть