Элионт
Проверенные
- Сообщения
- 36
- Реакции
- 20
- Баллы
- 1,705
Доброе время суток.
Модифицировал создание префиксов чтобы роутер понимал не только один index, но и несколько под-ссылок.
Оно работает - например, если перейти на
http://xenforo.test/index.php?likes-review/myposition
то пишет
Контроллер LikeReviewRus_ControllerPublic_Index не имеет определения действия Myposition.
если определить action в контроллере - всё отрабатывает.
Но при этом сломалось определение вкладки как активной (и, соответственно, нет подменю):
'selected' => ($selected == 'likes-review'), //Определяем, на ней ли мы сейчас
Что в ней писать, чтобы при наличии в любой части урла нужной под-строки эта вкладка считалась выбранной?
Заранее спасибо.
Апдэйт:
'selected' => true
Проблему не решает, вкладка всегда подсвечивается как активная, но сабменю не появляется.
Апдэйт 2: в качестве selected в
public static function addTab(array &$extraTabs, $selected)
приходит пустая строка на кастом табах.
Откуда она приходит, и как её забить?
Модифицировал создание префиксов чтобы роутер понимал не только один index, но и несколько под-ссылок.
Оно работает - например, если перейти на
http://xenforo.test/index.php?likes-review/myposition
то пишет
Контроллер LikeReviewRus_ControllerPublic_Index не имеет определения действия Myposition.
если определить action в контроллере - всё отрабатывает.
Но при этом сломалось определение вкладки как активной (и, соответственно, нет подменю):
'selected' => ($selected == 'likes-review'), //Определяем, на ней ли мы сейчас
Что в ней писать, чтобы при наличии в любой части урла нужной под-строки эта вкладка считалась выбранной?
Заранее спасибо.
Апдэйт:
'selected' => true
Проблему не решает, вкладка всегда подсвечивается как активная, но сабменю не появляется.
Апдэйт 2: в качестве selected в
public static function addTab(array &$extraTabs, $selected)
приходит пустая строка на кастом табах.
Откуда она приходит, и как её забить?
Код:
class LikeReviewRus_Route_Prefix_LikesReview 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) {
$action = $router->resolveActionWithStringParam($routePath, $request, 'likes');
return $router->getRouteMatch('LikeReviewRus_ControllerPublic_Index', $action);
}
/**
* Method to build a link to the specified page/action with the provided
* data and params.
* @see XenForo_Route_BuilderInterface
*/
public function buildLink ($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams) {
return XenForo_Link::buildBasicLinkWithStringParam($outputPrefix, $action, $extension, $data, 'likes');
}
}
Последнее редактирование: