1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - новый и перспективный форумный движок от бывших создателей vBulletin.

1.3.x navigation "свой пункт в меню навигации"

Тема в разделе "Вопросы по стилям, изменения в CSS и шаблонах", создана пользователем Киря, 23 апр 2014.

Загрузка
  1. Киря

    Киря Местный

    Регистрация:
    21.02.11
    Сообщения:
    65
    Симпатии:
    5
    Ребят, пытаюсь сделать свою кнопу через "navigation", но при нажатие вкладка не подсвечивается( кто сталкивался?

    Может кто дать код?
     
  2. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.525
    Симпатии:
    3.321
    Версия XF:
    1.5.9
    По идее для этого нужно свой роутер делать. И тогда оно будет автоматом подсвечиваться. Манипуляции со стилями не нужны.
     
  3. Киря

    Киря Местный

    Регистрация:
    21.02.11
    Сообщения:
    65
    Симпатии:
    5
    Можно подробнее:?
     
  4. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5.525
    Симпатии:
    3.321
    Версия XF:
    1.5.9
    Если делаете свой пункт меню, то, значит, делаете свой контроллер. Если я правильно понимаю. Допустим, делаете контроллер MyAddon_ControllerPublic_Blabla. Тогда для своего пункта меню нужно сделать, к примеру, такой класс префикса роутинга:
    Код:
    <?php
    
    class MyAddon_Route_Prefix_Blabla implements XenForo_Route_Interface
    {
       /**
        * Match a specific route for an already matched prefix.
        *
        * @see XenForo_Route_Interface::match()
        */
       public function match($routePath, Zend_Controller_Request_Http $request, XenForo_Router $router)
       {
         return $router->getRouteMatch('MyAddon_ControllerPublic_Blabla', $routePath, 'blabla');
       }
    }
    
    Остается добавить префикс роутинга в админке (в режиме разработки в пункте меню "Разработка"), где укажите в качестве класса только что созданный MyAddon_Route_Prefix_Blabla.

    После всех этих манипуляций можно проверить работу роутинга по ссылке http://ваш_форум/blabla или http://ваш_форум/index.php?blabla (в зависимости от включенного ЧПУ).
    --- добавлено : Apr 23, 2014 9:26 PM ---
    А вообще я рекомендую посмотреть, как сделаны штатные ксеновские маршруты (XenForo_Route_Prefix), контроллеры (XenForo_ControllerPublic), представления (XenForo_ViewPublic_Helper) и т.д. Там же найдете примеры функции для построения ссылок (function buildLink в классе роутинга), которые затем в шаблоне можно будет легко использовать в виде {xen:link 'blabla', $item}.
     
    Последнее редактирование модератором: 1 май 2014
    Mirovinger нравится это.

Поделиться этой страницей