Иконка ресурса

Собственные страницы (подробно)

Так как же такие громкие заявления
А вот так:
PHP:
<?php

class CustomNavTabs_Listeners_Navigation
{
    public static function navtabs(array &$extraTabs, $selectedTabId)
    {
        $extraTabs['extra/chat/'] = array(
            'title' => new XenForo_Phrase('chat_nav_tab'),
            'href' => XenForo_Link::buildPublicLink('full:extra/chat/'),
            'selected' => ($selectedTabId == 'pages'),
            'position' =>  'middle',
            'selected' =>  ($selectedTabId == 'extra/chat/'),
            'linksTemplate' => 'extra_chat_sublinks',
        );
    }
}

Что это?
PHP:
'selected' => ($selectedTabId == 'pages'),
//и
'selected' =>  ($selectedTabId == 'extra/chat/'),
Не в обиду автору, но это скорее всего копипаст или не понимание того, что происходит в коде.

Или это:
PHP:
<?php

class CustomNavTabs_Route_Prefix_Extra implements XenForo_Route_Interface
{
    public function match($routePath, Zend_Controller_Request_Http $request, XenForo_Router $router)
    {
        $urlComponents = explode('/', $routePath);
        $subPrefix = strtolower(array_shift($urlComponents));

        switch($subPrefix)
        {
            case 'chat':
                $controllerName = 'CustomNavTabs_ControllerPublic_Chat';
                $routeName = 'extra/chat/';
                break;
            default:
                $controllerName = 'CustomNavTabs_ControllerPublic_Chat';
                $routeName = 'extra/chat/';
                break;
        }

        return $router->getRouteMatch($controllerName, 'index', $routeName, $routePath);
    }
}

Два блока в кейс и один и тот же роут:
PHP:
$routeName = 'extra/chat/';
Это не правильно.
 
Ой, ещё одно забыл. Поскольку здесь в case есть default:
PHP:
<?php

class CustomNavTabs_Route_Prefix_Extra implements XenForo_Route_Interface
{
    public function match($routePath, Zend_Controller_Request_Http $request, XenForo_Router $router)
    {
        $urlComponents = explode('/', $routePath);
        $subPrefix = strtolower(array_shift($urlComponents));

        switch($subPrefix)
        {
            case 'chat':
                $controllerName = 'CustomNavTabs_ControllerPublic_Chat';
                $routeName = 'extra/chat/';
                break;
            default:
                $controllerName = 'CustomNavTabs_ControllerPublic_Chat';
                $routeName = 'extra/chat/';
                break;
        }

        return $router->getRouteMatch($controllerName, 'index', $routeName, $routePath);
    }
}
то при вводе в браузере любой ерунды после extra/, форум не выдаст ошибку о том, что нет такого роутинга.
Блок с default нужно убрать. После этого перед return нужно проверить $controllerName и $routeName, иначе, если в строку браузера будет введен не существующий url, то вылезет ошибка, что $controllerName не определена - undefined.


И извините, что хотел помочь. Я больше так не буду.
 
Так Вы не помогли, а просто нагуглили кучу умных слов и все их объединили в одно предложение. :)
 
И извините, что хотел помочь. Я больше так не буду.
То что ты писал поняли человека 2, остальные пялились и впечатлялись твоим умом :) Ты просто выпендривался а не помогал :)
 
просто нагуглили кучу умных слов
:eek: нагуглил? Я же указал на вполне себе конкретные неточности которые есть в инструкции и про которые в течение такого длительного времени никто и слова не сказал, все тупо копировали код не глядя.
Ты просто выпендривался а не помогал
Да боже упаси. Я просто хотел помочь и помог бы, если бы вы не налетели.

В общем ладно, инструкция верна, делайте как написал ТС и не парьтесь.
Ещё раз прошу прощения, что позволил себе указать на неточности.
Сорян мужики, Всем мир!
PHP:
$read_only_mode = 'on';
 
Последнее редактирование:
ValeCore, напишите мне пожалуйста в личные сообщения контакты для связи, я не могу вам написать.

У меня нет возможности поставить лайк, я поблагодарю так. Спасибо ValeCore! :declare:
:good2:очень отзывчивый человек, чётко и быстро помог решить мне текущую проблему и объяснил про другие нюансы. Я поняла, что до разработки мне еще далеко. Знанием одного php здесь не обойтись, нужно еще и архитектуру форума знать.
Крошки, вкладки, всё работает! юююххууууу!!! :dance4: Буду дальше пытаться создать свой первый горе плагинчик))))))
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу