Задать вопрос
@ImPuuLsE

Как создать UrlRule в Yii2?

Здравствуйте! имеется следующее правило, портированное из yii 1 приложения... переношу модуль на yii2...
class PageUrlRule extends Object implements UrlRuleInterface
{
    public $connectionID = 'db';
    public $urlSuffix    = '.html';

    public function createUrl($manager, $route, $params)
    {
        if($route==='pages/pages/view')
        {
            $url=trim($params['url'],'/');
            unset($params['url']);

            $parts=array();
            if(!empty($params))
            {
                foreach ($params as $key=>$val)
                    $parts[]=$key.'/'.$val;

                $url .= '/'.implode('/', $parts);
            }

            return $url.$this->urlSuffix;
        }
        return false;
    }

    public function parseRequest($manager, $request)
    {
        $pathInfo = trim($request->getPathInfo(), '/');
        $pathInfo = str_replace($this->urlSuffix, '', $pathInfo);
        
        if(Pages::find()->where(['url' => $pathInfo])->one())

        {
            $_GET['url'] = $pathInfo;
            return 'pages/pages/view';
        }

        return false;
    }
}

выдает ошибку:
d83d627e12694ec3ae442856e495c74a.PNG
Как быть?
  • Вопрос задан
  • 3794 просмотра
Подписаться 2 Оценить Комментировать
Ответ пользователя michaelromanov90 К ответам на вопрос (2)
@michaelromanov90
Не нарадуюсь, что тостер существует! Этот пост очень помог)
Ответ написан
Комментировать