В глобальном шаблоне передается массив $items, в частности он используется для формирования "breadcrumbs". Мне же надо формировать их непосредственно в шаблоне "topicViewTemplate".
Вообщем если кому-то еще пригодится:
Лезем в файлик
admin/applications/forums/modules_public/forums/topics.php и ищем строки
if ( is_array( $this->nav ) AND count( $this->nav ) )
{
foreach( $this->nav as $_nav )
{
$this->registry->output->addNavigation( $_nav[0], $_nav[1], $_nav[2], $_nav[3] );
}
}
Вырезаем их и вставляем немного выше, над строкой:
$template = $this->registry->output->getTemplate('topic')->topicViewTemplate( $this->forum, $this->topic, $post_data, $displayData );
В итоге это должно будет выглядеть примерно так:
if ( is_array( $this->nav ) AND count( $this->nav ) )
{
foreach( $this->nav as $_nav )
{
$this->registry->output->addNavigation( $_nav[0], $_nav[1], $_nav[2], $_nav[3] );
}
}
$template = $this->registry->output->getTemplate('topic')->topicViewTemplate( $this->forum, $this->topic, $post_data, $displayData );
Теперь идем в наш шаблон 'topicViewTemplate'.
Добавляем в переменные $items.
И в том месте где нам необходимо вставить "хлебные крошки" пишем:
<php>
$items = $this->registry->output->_navigation;
</php>
<ul id='breadcrumb' class='left'>
<foreach loop="$items as $idx => $data">
<li>
<span class='nav_sep'>{parse replacement="f_nav_sep"}</span>
<a href='{parse url="{$data[1]}" base="$data[4]" seotitle="$data[2]" template="$data[3]"}' title='{$this->lang->words['nav_return_to']}{$data[0]}'>{$data[0]}</a>
</li>
</foreach>
<li>>{$topic['title']}</li>
</ul>
Возможно придеться еще немного подправить стили.
Если например надо будет продублировать "хлебные крошки" внизу страницы то нужно добавить код без верхних трех строк (он конечно не навредит но всё же).
Я проверял и это замечательно работает на 3х уровнях вложенности.
Рекомендованные комментарии
Нет комментариев для отображения