Url с тире

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
Аватара пользователя
xtz4ever
Сообщения: 37
Зарегистрирован: 2016.09.23, 17:11

Url с тире

Сообщение xtz4ever »

Привет всем. Ребята прошу у Вас совета. не могу понять почему в yii2 advanced ссылка http://site.ru/adi_das работает, а ссылка http://site.ru/adi-das не работает.

adi-das эта часть урла берется из админки.
Url manager стандартный по примеру с этого сайта. в чем может быть проблема.

Благодарен за любые мысли )))
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Url с тире

Сообщение rak »

Url manager стандартный по примеру с этого сайта. в чем может быть проблема.
это как?
нужно правила роутинга смотреть, чтобы что-то сказать
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: Url с тире

Сообщение Loveorigami »

Куда отправляется adi-das с такими настройками?

'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => false,
Аватара пользователя
xtz4ever
Сообщения: 37
Зарегистрирован: 2016.09.23, 17:11

Re: Url с тире

Сообщение xtz4ever »

у меня была задача привести такой URL http://site.ru/site/brands?brand=adidas к виду http://site.ru/adidas. это я реализовал с помощью URL manager. а теперь поставили задачу из http://site.ru/adidas сделать http://site.ru/adi-das


вот мой URL manager


class MyUrlAkkaunty extends Object implements UrlRuleInterface{




public function createUrl($manager, $route, $params)
{
if ($route === 'site/akkaunty') {
if (isset($params['title_en'])) {

return $params['title_en'] ;
}
}
return false; // данное правило не применимо
}

public function parseRequest($manager, $request)
{
$pathInfo = $request->getPathInfo();

if (preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches)) {
$category = Globalcategory::find()->andWhere(['title_en' => $matches[1]])->one();

// $model = Model::find()->andWhere(['name' => ':name'], [':name' => $matches[3]])->one(aa);
if ($category) {
$params['category'] = $category->title_en;

return ['site/akkaunty', $params];

}
}
return false; // данное правило не применимо
}

}
Аватара пользователя
xtz4ever
Сообщения: 37
Зарегистрирован: 2016.09.23, 17:11

Re: Url с тире

Сообщение xtz4ever »

РЕбята ВЫ были правы. ))) даже URL manager не понадобился ))))))

вот решение моей проблемы

[
'pattern' =>'/<title_en>',
'route' => 'site/akkaunty',
'suffix' => '',
],


title_en передается Гетом ))

СПАСИБО ЧТО ОТКЛИКНУЛИСЬ НА ПОМОЩЬ !!!
Закрыто