Порядок пунктов меню (Решено)

В главном меню пункты располагаются в определенном порядке (Топики, Блоги, Люди, Активность).
То, что добавлено хуками (плагины) располагается в конце. Для них, как я понял, можно задать приоритет примерно так:
$this->AddHook('template_main_menu_item', 'ShowMenuItem',__CLASS__, цифра приоритета);
Но этот приоритет работает только для добавленных хуками пунктов в конце меню
Вопрос в следующем:
— Как поменять порядок меню (Топики, Блоги, Люди ...)?
— Как поместить добавленное хуком меню в начало («Хуковый» пункт, Топики, Блоги, Люди ...)?

Решение (Спасибо PSNet , s4people , vdenu ):
— в файле header_top.tpl можно прописать новые хуки в начале пунктов меню и/или между ними.
— в соответствующем пункту меню плагине поправить хук (как правило, в файле \plugins\name\classes\hooks\HookName.class.php):
$this->AddHook('template_main_menu_item', 'ShowMenuItem',__CLASS__);

15 комментариев

avatar
в шаблоне header_top.tpl

заходите и меняете местами и сам хук и порядок этих ссылок.
avatar
И все кто к хуку будут вначале. ))Может легче просто руками ссылки вбить? Или добавить хук перед, а потом поправить необходимые плагины? (Правда всегда править придётся) ))
avatar
нет не легче :) либо я вас не понял.

но я ответил на вопрос что хотел человек ) вот и все
avatar
Я ж не спорю, просто вы ответили не правильно. Т.е. не совсем правильно, т.к. человеку нужно всего один пункт меню отправить вперед, а остальные оставить где были. Поэтому просто вбить руками и забыть навсегда. ))
avatar
Получается если хук расположить в начале, то все плагины их будут вставлять в начале…
Вероятно, нужно два хука: «В начало» и «В конец»?
avatar
вы это разработчикам скажите :) а не мне.

что у них хуков не хватает :) но вообще я вот скрываю всегда хук и леплю ссылку туда как мне угодно.
avatar
главное потом не удивляться :) чего это не выводятся новые плагины в меню
avatar
У вас будет миллион пунктов меню? Вряд ли. Вообще уберите хук и руками расставьте. Если добавлять новый хук, то вам плагины/плагин придется переписывать.
avatar
можно я просто скажу что вы не правы :) и все закончим на этом.
avatar
А отправлять все плагины в начало — это охренеть как правильно? )) Ладно автор сам разберется. Я выше указал, что один из способов это добавление нового хука, другой способ вообще расставлять руками, а вот отправлять хук в начало, как вы посоветовали — это тоже решение, но глупое. Из серии — шило на мыло. Вы вообще всегда торопитесь и никогда не дочитываете.
avatar
вы меня что за идиотика считаете??? сами хоть дочитали?

последняя строка топика какая?
— Как поместить добавленное хуком меню в начало («Хуковый» пункт, Топики, Блоги, Люди ...)?

как вы думаете это что значит? подумайте и немедленно извинитесь!
avatar
«Хуковый» пункт, Топики, Блоги, Люди ...)
… ОДИН пункт.
Вы, сударь, здоровы ли на голову7 Извиняться… Я вас что дураком назвал или на х… послал? Трепетная лань прямо какая-то.
Вот перед автором я извиняюсь за оффтоп, а перед вами повода не вижу. На сём обсуждение тут заканчиваю.
avatar
славу богу давайте помолчим уж
avatar
Спасибо. Все прояснилось.
Думаю, наиболее правильно было бы если:
— имеем хук «начало меню» и «конец меню»
— в плагинах выставляем нужный хук и приоритет для него
avatar
Решил проблему, вставив хуки после каждого меню:
{hook run='main_menu_item_begin'}
<li {if $sMenuHeadItemSelect=='blog'…
{hook run='main_menu_item_first'}
<li {if $sMenuHeadItemSelect=='blogs'…
{hook run='main_menu_item_second'}
<li {if $sMenuHeadItemSelect=='people'}…
{hook run='main_menu_item_third'}
<li {if $sMenuHeadItemSelect=='stream'}…
{hook run='main_menu_item'}
Теперь кручу верчу как хочу :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.