UrlManager. createUrl не видит параметр и срабатывает только 1 раз
Добавлено: 2015.06.12, 09:03
Суть проблемы в том что я создал свой класс для создания ЧПУ. Но работает странно.
Во первых обрабатывает только 1ую ссылку.
Во вторых не видит $params['slug'] хотя он есть.
Пример ссылки которую я использую <a class="thumbnail" href="<?=Url::to(['/guide/page/view','slug'=>$one['slug']])?>">.
Во первых обрабатывает только 1ую ссылку.
Во вторых не видит $params['slug'] хотя он есть.
Пример ссылки которую я использую <a class="thumbnail" href="<?=Url::to(['/guide/page/view','slug'=>$one['slug']])?>">.
Код: Выделить всё
<?php
return [
'class'=>'yii\web\UrlManager',
'enablePrettyUrl'=>true,
'showScriptName'=>false,
'rules'=> [
['class' => 'common\components\urlRules\GuideUrlRule'],
]
];
Код: Выделить всё
<?php
namespace common\components\urlRules;
use yii\web\UrlRuleInterface;
use yii\base\Object;
class GuideUrlRule extends Object implements UrlRuleInterface
{
public function createUrl($manager, $route, $params)
{
// Страница
if ($route === 'guide/bird/view') {
echo '"></a></div><pre>';
//var_dump($manager);
var_dump($params);
var_dump($route);
echo '</pre>';
//die();
if(isset($params['slug'])){
return 'guide/'.$params['slug'];
}
}
return false; // this rule does not apply
}
public function parseRequest($manager, $request)
{
return false; // this rule does not apply
}
}