Роутинг (или алиас) в Yii1

387
15 марта 2017, 20:05

У меня есть классы на front-end типа HotelsController и другие, к ним доступ идет через модуль поиска как search/hotels/.

function getUrlRules()
{
return array(
        $this->id.'/<controller:\w+>/<action:(SupportBlock)>/<countryId:\d+>' => $this->id.'/<controller>/<action>',
        $this->id.'/<controller:\w+>/<action:(SupportBlock)>/<countryId:\d+>/<cityId:\d+>' => $this->id.'/<controller>/<action>'
    );
}

Вопрос вот в чем - если я изменю название класса с HotelsController на FrontendHotelsController, как мне сделать так чтобы ПУТЬ (search/hotels/) остался таким же, а не менялся на search/frontendhotels/ ? Я пробовал добавлять frontend в роутинг но там это не работает, выводит ошибку что "Невозможно обработать запрос "search/hotels""

Answer 1

Это было решено следующим способом:

  1. В конфигурации у модуля поиска (searches) был проставлен controllerMap вот так:

    'modules' => array(
        'search' => array('controllerMap' => array('hotels' => array('class' => 'FrontHotelsController')))),

И соответственно название файла И контроллера было изменено на FrontHotelsController (источник)

READ ALSO
Как создать wishlist?

Как создать wishlist?

Стоит задача сделать интеграцию готовой вёрстки магазина на woocommerceВ вёрстке есть отдельная страница wishlist

373
Ошибка 500 в дочерних категориях Opencart

Ошибка 500 в дочерних категориях Opencart

Доброго времени сутокСтолкнулся с проблемой что возникла ошибка 500 в дочерних категориях товаров

347
Как сделать запрос xpath в текущей ноде

Как сделать запрос xpath в текущей ноде

Подскажи плиз, как можно в текущей ноде выполнить xpath запрос: Например есть список нод:

248
вставить запись если не существует (php,mysql)

вставить запись если не существует (php,mysql)

вот есть такой код, как правильно в $query реализовать вставку записи если она не существует

307