Статичные страницы от корня advansed

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
frixer1
Сообщения: 10
Зарегистрирован: 2019.11.19, 07:08

Статичные страницы от корня advansed

Сообщение frixer1 »

Здравствуйте, пытаюсь сделать чпу и ссылку от корня но не получается подскажите что делаю не так

Код: Выделить всё

<?php

namespace backend\components;

use yii\web\UrlRuleInterface;
use yii\base\BaseObject;
use app\models\Page;

class PageManager extends BaseObject implements UrlRuleInterface
{
    public function createUrl($manager, $route, $params)
    {
        if ($route === 'page/view' & isset($params['id'])) {
            if (($page = Page::find()->where(['id' => $params['id']])->one()) == NULL ) {
                return false;
            }
            //return $page->slug;
            return 'view/'.$page->id;

        }
        return false;
    }

    public function parseRequest($manager, $request)
    {
        $pathInfo = $request->getPathInfo();
        if (preg_match('%^([a-zA-Z0-9-]+)(/([a-zA-Z0-9-]+))?$%', $pathInfo, $matches)) {

            if (count($matches) != 4) { // условие для выхода (Примечание 1)
                return false;
            }

            if ($matches[1] != "page") { // условие для выхода (Примечание 1.1)
                return false;
            }

            if (($page = Page::find()->where('slug =:slug', [':slug' => $matches[3]])->one()) == NULL) { //
                // (Примечание 2)
                return false;
            }
            return ['page/view', [ // (Примечание 3)
                'page' => $page
            ]];
        }
        return false; //(Примечание 4)
    }
}
Ответить