Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Выкладываем свои наработки
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

я посмотрел у вас смысл в том что всё через модули сделано. А правильно будет если я захочу что-то добавить и сделать не через модуль, а по обычному прописать контроллер для админки к примеру по пути backend/controllers? или всё таки лучше сохранить модульную структуру
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

Есть ещё небольшой вопрос по правам, а для чего rules? как их использовать?
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

есть глупый вопрос не могу понять почему запись в конфиге
'admin' => [
'class' => 'vova07\admin\Module'
],
соответствует такому пути vendor\vova07\yii2-start-admin-module\Module , как из admin получают yii2-start-admin-module ?
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

и небольшой вопрос как мне правильно расширить ваши модули? мне же не надо прописывать свой код в vendor
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

странно почему-то не могу установить https://github.com/phemellc/yii2-i18n-url , выкидывает вот такую ошибку
Your requirements could not be resolved to an installable set of packages.

Problem 1
- The requested package pheme/yii2-i18n-url could not be found in any version, there may be a typo in the package name.

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/compo ... discussion> for more details.

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Installation failed, reverting ./composer.json to its original content.

Хотя на чистую версию yii2 advanced ставится
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение vova07 »

bakhur писал(а):А мультиязычности нет?
На данный момент нет.
bakhur писал(а):я посмотрел у вас смысл в том что всё через модули сделано. А правильно будет если я захочу что-то добавить и сделать не через модуль, а по обычному прописать контроллер для админки к примеру по пути backend/controllers? или всё таки лучше сохранить модульную структуру
Это на ваше усмотрение. Конкретно к методу структуризации папок и файлов в моем приложении нет ограничений. Если вам нравятся контролеры и приложение у вас не такое сложное, то они вполне подойдут вам. Если нравятся модули можно делать модулями. В общем и модули и обычная структура будут правильным решением. У меня это так сделано чтобы их можно было устанавливать или удалять по необходимости.
bakhur писал(а):Есть ещё небольшой вопрос по правам, а для чего rules? как их использовать?
Rules - используются для специфических проверок. Они могут содержать сложные типы проверок с сложной и запутанной логикой, но так как это все делается в отдельном классе в них удобно разбираться.
Конкретно в моем случае "rules" используются для дефолтных правил. То есть через них проверяются очень тупым но быстрым методом права текущего пользователя. Это было сделано для того чтобы ускорить процесс проверок прав пользователя, в то время кэширование RBAC в фреймворке еще не было. В повседневной жизни они могут понадобится в сложных системах где проверка правил доступа пользователя нестандартная.
bakhur писал(а):как из admin получают yii2-start-admin-module ?
Через алиас. Он примерно такого вида:

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

'alias' => 
    array (
      '@vova07/admin' => $vendorDir . '/vova07/yii2-start-admin-module',
    ),
и прописан он в файле: 'vendor/yiisoft/extensions.php' который в свою очередь создается компосером. А компосер сам берет нужную информацию из самого пакета расширения: https://github.com/vova07/yii2-start-ad ... r.json#L22
bakhur писал(а):и небольшой вопрос как мне правильно расширить ваши модули? мне же не надо прописывать свой код в vendor
В вендор что-то писать точно не надо. Это самый плохой метод.

Правильно будет вот так:
- для представлений: https://github.com/vova07/yii2-start/issues/94
- для контроллеров используем "classMap" или "controllerNamespace" модуля.
- для моделях используем DI и перекрываем нужный класс своим.

В скором будущем будет сделан полный рефакторинг расширений для получения 100% гибкости и перекрываемости. также будут добавлены живые примеры как и где перекрывать те или иные части приложения.
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение vova07 »

bakhur писал(а):странно почему-то не могу установить https://github.com/phemellc/yii2-i18n-url , выкидывает вот такую ошибку
Your requirements could not be resolved to an installable set of packages.

Problem 1
- The requested package pheme/yii2-i18n-url could not be found in any version, there may be a typo in the package name.

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/compo ... discussion> for more details.

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Installation failed, reverting ./composer.json to its original content.

Хотя на чистую версию yii2 advanced ставится
Данная проблема вероятнее всего связана с минимальной стабильной версии пакетов. В Yii2-Start используются только стабильные версии, в адвэнсэд же допускаются и девелопмент. Если вам нужен данный эктеншен и вас не пугают девелопмент версии пакетов, то вы можете изменить стабильность здесь: https://github.com/vova07/yii2-start/bl ... r.json#L19 вместо стэбл нужно прописать дев. То есть получится такое:

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

"minimum-stability": "dev"
После, запускаем повторный "composer update" и все должно установится.
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

ага спасибо за ответы. у меня ещё вопросы есть по мультиязычности http://look.360focus.pro/ - вот тут в верхнем меню есть переключение, сделал чтобы в куки заносилась текущая локаль, только вот вопрос у меня срабатывает только на фронтенд. как сделать чтобы и backend подтягивался. в файле вот как прописал установку локали
Yii::$app->response->cookies->remove('lang');
Yii::$app->response->cookies->add(new \yii\web\Cookie([
'name' => 'lang',
'value' => $lang
]));
$lang = LangRequest::getCode($lang);
Yii::$app->language = $lang;
Yii::$app->formatter->locale = $lang;

и в конфиге common/main задал
'request' => [
'class' => 'common\components\LangRequest'
],

и потом подскажите пожалуйста как сделать перевод для статей , чтобы от выбранного языка статья подгружалась на нужном языке, как базу под это модернизировать и как прописать конфиг
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

да и забыл спросить что сделать чтобы в url прописывался язык, так http://siteurl/ru/page
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение vova07 »

@bakhur к сожалению последние вопросы не имеют отношения к моему приложению, по этому конкретного ответа в этом топике не смогу дать. Рекомендую вам создать отдельные темы для решения этих проблем в соответсвующий разделах форума, уверен там больше людей смогут вам помочь. Надеюсь на ваше понимание!
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

ага ок. Тогда не могли бы ответить как ваши модули расширять правильно. Т.е к примеру хочу расширить модуль админки добавить несколько action контроллера default. куда мне их прописывать?
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

как я понимаю надо сделать свой модуль который расширяет ваш и в конфигурации прописать свой модуль. только вот не особо понимаю как всё это сделать.
'admin' => [
'class' => 'vova07\admin\Module'
],
timezero
Сообщения: 2
Зарегистрирован: 2015.04.09, 01:02
Контактная информация:

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение timezero »

bakhur писал(а):ага ок. Тогда не могли бы ответить как ваши модули расширять правильно. Т.е к примеру хочу расширить модуль админки добавить несколько action контроллера default. куда мне их прописывать?
тему то бы полистали хотя б..

раз два три
timezero
Сообщения: 2
Зарегистрирован: 2015.04.09, 01:02
Контактная информация:

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение timezero »

автору спасибо за отличную работу, за пару дней разобрался что и как,

кстати неплохо встраиваются элементы от kartik-v
img.png
img.png (74.08 КБ) 6939 просмотров
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

А можно задать один вопрос как взаимодействуют между собой таблица blogs и комментарии? а то что-то посмотрел в таблицу комментариев что-то не очень понятно. Просто в таблицу blogs хочу выводить ещё кол-во комментариев
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

И не могли бы вы пояснить как подгружаются layout для админки к примеру. Я просто наглядно задания layout не увидел , типо такого в базовом контроллере прописываем свойство $layout = 'main';
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение vova07 »

bakhur писал(а):А можно задать один вопрос как взаимодействуют между собой таблица blogs и комментарии? а то что-то посмотрел в таблицу комментариев что-то не очень понятно. Просто в таблицу blogs хочу выводить ещё кол-во комментариев
Они связаны через идентификатор самой записи, и уникальным идентифиактором модели блога. То есть в таблице комментариев есть два поля для связки: model_id -> это ИД записи, и model_class -> ИД класса модели, который находится в отдельной таблице.
bakhur писал(а):И не могли бы вы пояснить как подгружаются layout для админки к примеру. Я просто наглядно задания layout не увидел , типо такого в базовом контроллере прописываем свойство $layout = 'main';
Шаблон явно не задан так как по дефолту используется именно main лэйаут.
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

Вот тут при установке модуля https://github.com/DrMabuse23/yii2-sir-trevor-js выбивает http://prntscr.com/6t6wki . Из-за чего это, вроде бы гит же используется, другие модули ставятся
bakhur
Сообщения: 202
Зарегистрирован: 2015.03.04, 10:56

Re: Yii2-Start альтернативный шаблон для быстрого старта нового проекта.

Сообщение bakhur »

Подскажите пожалуйста детальней как сделать переопределение модуля. посмотрел вот тут viewtopic.php?f=9&t=16414&start=380#p115958 про переопределение самого модуля понял, про контроллеры тоже ясно, а вот про модели и вид вообще не понятно. Для переопределения модели нужно прописывать
\Yii::$container->set(
'vova07\blogs\models\Blog',
[
'class' => 'my\new\module\models\Blog'
]
); - и напрашивается куда это ставить , в конфиг backend/main ставил после return, ничего не происходит. А с видами как сделать, что значит шаблон сделать (дайте живой пример)
Ответить