Ответы пользователя по тегу Yii
  • Как исправить ЧПУ в пагинация Yii2?

    Первое, что приходит в голову - написать свою реализацию
    MyPagination extends \yii\data\Pagination
    и там уже переопределить метод
    \yii\data\Pagination::createUrl($page, $pageSize = null, $absolute = false)

    Но этот метод мне не очень нравится. В свободное время посмотрю как это было реализовано у меня в одном проекте и, если пойму, то дополню свой ответ.
    Ответ написан
    Комментировать
  • Как правильно реализовать метод?

    public static function find()
        {
            return new static($user);
        }

    Что здесь представляет из себя переменная $user?
    в методе findIdentityByAccessToken у вас переменная $user определена - вот он и не ругается.

    И ругался он не на отсутствие find() метода, а на отсутствие других методов (см. интерфейс \yii\web\IdentityInterface):
    public static function findIdentity($id); //Получение пользователя по ID (сделайте на подобии вашего метода с токеном)
    public static function findIdentityByAccessToken($token, $type = null); //Получение пользователя по его токену (вы его уже сделали)
    public function getId(); //Получить id текущего пользователя (просто return $this-id)
    public function getAuthKey(); //Получить auth key
    public function validateAuthKey($authKey); //Удостовериться, что полученный authkey нормальный.

    Некоторые методы у вас уже есть. Создайте все эти методы с такими же параметрами. Если метод не нужен, то оставьте его пустым (так даже говорится в документации, ссылки на которую вам дал vyrkmod).

    Удачи!
    Ответ написан
    Комментировать
  • Yii2 как сделать api для фронта?

    yii\rest\UrlRule добавляет свою логику в формирование запросов и для его работы нужно добавить s в конце эндпоинта. Например, если контроллер UserController, то для активации REST правил обработки урлов нужно делать запрос вида:
    GET (PUT, POST): /api/v1/users

    Также, как подметил padlyuck, у вас есть проблемы с неймспейсом. Например PersController у вас лежит совершенно в другом неймспейсе (api\modules\v1\controllers), когда сам модуль лежит, судя по конфигурации, app\modules\api\v1\Module. Такой расклад заведомо не рабочий - у вас контроллер модуля находится в совершенно другом месте, в отличие от модуля.
    Ответ написан
    Комментировать
  • Где находится шаблон верстки Gii?

    попробуйте удалить папку vendor и заново сделать composer install (update) и проблема, может быть, решится. Очень похоже, что вы руками пытались поправить верстку и где-то что-то сломали) Удачи!
    Ответ написан
    Комментировать