insperedia / yiidea-support

Other
2 stars 0 forks source link

Каким образом можно определить путь к представленю в модулях? #12

Open badtiger opened 4 months ago

badtiger commented 4 months ago

Мой проект основан на модулях. И все представления хранятся в папке views в корне проекта. В модулях указано:

        'user' => [
            'class' => 'modules\user\User',
            'controllerNamespace' => 'modules\user\controllers\frontend',
            'viewPath' => '@views/user/frontend',
        ],

т.е. 'viewPath' => '@views/user/frontend', указывает что файлы представления находятся в директории /views

Каким образом можно настроить плагин, что бы он не предлагал мне создавать файлы в папках модуля как сейчас: View file '/modules/user/views/frontend/default/index.php' not found.

Спасибо за помощь.

xstreamka commented 4 months ago

Возможно у меня похожая проблема. Есть виджет по пути /app/frontend/widgets/LeftMenu.php в нем прописан рендер /layouts/in/left-menu, файл находится по пути /app/frontend/views/layouts/in/left-menu.php но расширение его не видит и пишет ошибку: View file '/frontend/widgets/views//layouts/in/left-menu.php' not found. Пробовал разные варианты. image

insperedia commented 3 months ago

В настройках плана есть функционал подмены путей для тем. Попробуте использовать его. Yii2 Framework Support > Views. Данный функционал тривиален и по сути вызов функции str_replace($field1, $field2, $calculated_path)

Например: /frontend/widgets/ > /app/frontend/

Попробуйте и напишите о разультатах. Спасибо!

badtiger commented 3 months ago

В настройках плана есть функционал подмены путей для тем. Попробуте использовать его. Yii2 Framework Support > Views. Данный функционал тривиален и по сути вызов функции str_replace($field1, $field2, $calculated_path)

Например: /frontend/widgets/ > /app/frontend/

Попробуйте и напишите о разультатах. Спасибо!

Спасибо, все получилось. Для конкретного модуля который я указал выше, замена получилась следующая: /modules/user/views -> /views/user Но судя по всему такую замену придется прописывать для каждого модуля отдельно, это не критично, но все же за такую стоимость можно и автоматически их проставлять, либо как то использовать алиасы.

В любом случае пока ждал решение этого вопроса срок действия пробной лицензии истек, и протестировать его не успел (((

insperedia commented 3 months ago

В планах есть реализация алиасов на базе настроект подмен пути. Но ввиду высокой занятости реализую не очень скоро.