Привет всем. Ребята прошу у Вас совета. не могу понять почему в yii2 advanced ссылка http://site.ru/adi_das работает, а ссылка http://site.ru/adi-das не работает.
adi-das эта часть урла берется из админки.
Url manager стандартный по примеру с этого сайта. в чем может быть проблема.
Благодарен за любые мысли )))
Url с тире
Re: Url с тире
это как?Url manager стандартный по примеру с этого сайта. в чем может быть проблема.
нужно правила роутинга смотреть, чтобы что-то сказать
-
- Сообщения: 977
- Зарегистрирован: 2014.08.27, 21:54
Re: Url с тире
Куда отправляется adi-das с такими настройками?
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => false,
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => false,
Re: Url с тире
у меня была задача привести такой 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; // данное правило не применимо
}
}
вот мой 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; // данное правило не применимо
}
}
Re: Url с тире
РЕбята ВЫ были правы. ))) даже URL manager не понадобился ))))))
вот решение моей проблемы
[
'pattern' =>'/<title_en>',
'route' => 'site/akkaunty',
'suffix' => '',
],
title_en передается Гетом ))
СПАСИБО ЧТО ОТКЛИКНУЛИСЬ НА ПОМОЩЬ !!!
вот решение моей проблемы
[
'pattern' =>'/<title_en>',
'route' => 'site/akkaunty',
'suffix' => '',
],
title_en передается Гетом ))
СПАСИБО ЧТО ОТКЛИКНУЛИСЬ НА ПОМОЩЬ !!!