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

Выкладываем свои наработки
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Yii2-Start новая версия.

Сообщение lynicidn »

каких ошибок ? же тебе пишу, что при обращении к пхп у тебя 2 возможных бутстрап файла- бек или фронт, или даже понятнее будет написать - если не бек, то фронт, какой консоль?
@amstr1k: да, конфиг надо подправлять, он от рут отталкивается, позже время будет попробую накидать другой конфиг

Аватара пользователя
yiijeka
Сообщения: 3091
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Yii2-Start новая версия.

Сообщение yiijeka »

Шёл второй день...

Vespertilio
Сообщения: 271
Зарегистрирован: 2012.11.30, 07:33

Re: Yii2-Start новая версия.

Сообщение Vespertilio »

Объясните мне на пальцах как работает кропинг картинок =) Я почитал про jcrop прочитал про FilaAPI + JCrop у RuBaXa и толком не понял. Конкретно техническая часть не понятна. Я делал по своему кропинг, через imagine, а клиентский JS посылает мне постом сразу картинку оригинал + начальные координаты кропинга и ширина/высота кропинга. Но у меня возникла проблема с масштабированием, на клиенте картинка уменьшается под окошко кропинга и js берет координаты окошка соответсвенно с реальным изображением получаются промахи. Я решил посмотреть как реализовано тут, и встал в тупик, из всей информации которой обмениваются клент-сервер это блобы в base64 и название файла в JSON, а где идет обмен координатами и т.д. я так и не понял ни на одном из примеров.

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

Re: Yii2-Start новая версия.

Сообщение vova07 »

В данной реализации вся работа проиходит на клиенте. Сам обмен данных происходит вот тут. Все остальное это работа JCrop-а и FileAPI скриптов.

amstr1k
Сообщения: 56
Зарегистрирован: 2014.03.19, 23:24

Re: Yii2-Start новая версия.

Сообщение amstr1k »

После переустановки проекта не работает статика. Изображение
Хотя сам файл загружен и лежит по пути /home/amstr1k/projects/yii2/statics/web/users/avatars

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

server {
    charset utf-8;
    client_max_body_size 128M;
    listen 80;
    set $yii2StartRoot '/home/amstr1k/projects/yii2';
    server_name yii2.dev;
    root $yii2StartRoot/frontend/web;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location /statics {
        alias /home/amstr1k/projects/yii2/statics/web/;
    }

    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        try_files $uri =404;
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
}

server {
    charset utf-8;
    client_max_body_size 128M;
    listen 80;
    set $yii2StartRoot '/home/amstr1k/projects/yii2';
    server_name backend.yii2.dev;
    root /home/amstr1k/projects/yii2/backend/web;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location /statics {
        alias /home/amstr1k/projects/yii2/statics/web/;
    }

    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        try_files $uri =404;
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
} 

Аватара пользователя
Roksalana
Сообщения: 215
Зарегистрирован: 2014.01.14, 09:34

Re: Yii2-Start новая версия.

Сообщение Roksalana »

vova07, спасибо за проделанную работу :)
У меня вопрос не по вашему модулу, а в принципе по работе с модулями в Yii на примере вашего модуля. Надеюсь что сможете ответить и объяснить.
Есть модуль blogs. Я хочу его расширить, добавить категории для постов. Менять что-либо в чужом модуле это не правильно. Как отнаследоваться от модуля, как прописать другие модели, те чтоб модуль на пример остался все тот-же но модели использовал мои, относледованные от моделей модуля. Или контроллеры свои прописать, как? Можете написать краткий мануал по расширению модулей в Yii ?

PS: на первой странице написано, что старая версия приложения имела модули Comments и Categories. Планируете ли вы переписать их для нового приложения и если да, то когда примерно ждать релиза?

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

Re: Yii2-Start новая версия.

Сообщение vova07 »

@Roksalana я планировал доки добавить после завершения базового функционала, но попробую ответить на ваши вопросы в этом комменте раз они уже появились.

- Чтобы расширить возможности модуля, нужно унаследоватся от основного файла самого модуля. В вашем примере это: "vova07\blogs\Module" .
Дальше в конфигурационном файле нужно прописать в "class" атрибуте модуля "blogs" уже новый путь до него. Примерно так:

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

'modules' => [
    'blogs' => [
        'class' => 'my\new\Module'
    ]
]
На этом все касательно расширения базовых настроек моделя, и его функционала.

- Что-бы использовать свои контролеры в модуле, нужно переопределить "controllerNamespace" этого модуля.
Делается это так:

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

'modules' => [
    'blogs' => [
        'class' => 'my\new\Module',
        'controllerNamespace' => '@my/new/module/controllers'
    ]
]
После этого вы можете писать полностью свои контролеры или же унаследоватся от моих и переопределять определенные экшены или же расширяя существующий функционал новыми возможностями.

- Для того чтобы переопределить модели модуля нужно использовать DI контэйнер. Это выглядит примерно так:

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

\Yii::$container->set(
  'vova07\blogs\models\Blog',
  [
      'class' => 'my\new\module\models\Blog'
  ]
);
Это примерно основные моменты которые позволяют кастомизировать модули под свои нужды. Осталось наверное еще представления модуля, то есть его внешний вид. Это так же можно решить через DI, хотя в своем приложении я рекомендую использовать темы для переопределения любого представления модуля. Это избавляет от написания ненужных переопределений, и выглядит более наглядно для других разработчиков.

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

Касательно модулей комментариев и категорий: если ничего не поменяет моих планов на этой неделе, то комментарии появятся в эти выходные, вместе с другими изменениями приложения. (Вынесение ядра в отдельный репозиторий, определенные правки в логике моделей и их улучшение, вынесение тем в отдельный репозиторий.) После этих изменений, появятся и категории, так как именно они запланированы как последующее улучшение.
Если все будет идти по плану, то на следующей неделе категории появятся уже в приложении.

Vespertilio
Сообщения: 271
Зарегистрирован: 2012.11.30, 07:33

Re: Yii2-Start новая версия.

Сообщение Vespertilio »

Похоже кто-то поменял пароли на админку и пользователя и теперь не зайти. Верните пожалуйста)

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

Re: Yii2-Start новая версия.

Сообщение vova07 »

@Vespertilio - вернул и запретил редактирование админа и демо юзера, чтоб больше небыло таких проблем. Спасибо!

Аватара пользователя
Roksalana
Сообщения: 215
Зарегистрирован: 2014.01.14, 09:34

Re: Yii2-Start новая версия.

Сообщение Roksalana »

vova07 писал(а): - Для того чтобы переопределить модели модуля нужно использовать DI контэйнер. Это выглядит примерно так:

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

\Yii::$container->set(
  'vova07\blogs\models\Blog',
  [
      'class' => 'my\new\module\models\Blog'
  ]
); 
Спасибо, в принципе понятно. Остался вопрос: где прописывать dependency injection? В классе модуля, в бутстрапе модуля, а как для самого приложения без создания модуля?

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

Re: Yii2-Start новая версия.

Сообщение vova07 »

@Roksalana Можно и в бутстрап модуля, хотя config.php самого приложения вполне приемлемое место для этого.

pipanchik
Сообщения: 26
Зарегистрирован: 2012.10.24, 22:36

Re: Yii2-Start новая версия.

Сообщение pipanchik »

SluggableBehavior похоже не работает для кириллицы. Алиас не генерируется, если заголовок указан на русском языке
новичок

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

Re: Yii2-Start новая версия.

Сообщение vova07 »

Все работает, проверил только что. Хотя на самом демо сайте есть проблемы, вчера проводились работы на сервере, видимо что-то не включили. Проверю по возможности.

dmg
Сообщения: 685
Зарегистрирован: 2012.10.15, 03:09

Re: Yii2-Start новая версия.

Сообщение dmg »

pipanchik писал(а):SluggableBehavior похоже не работает для кириллицы. Алиас не генерируется, если заголовок указан на русском языке
php должен быть собран с intl.

Аватара пользователя
yiijeka
Сообщения: 3091
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Yii2-Start новая версия.

Сообщение yiijeka »

Не обязательно. У меня был баг с intl версией. Даже issue создавал. Сказали удалить. С intl у меня не работало, без него всё ок. Короче замяли пока что..

Vespertilio
Сообщения: 271
Зарегистрирован: 2012.11.30, 07:33

Re: Yii2-Start новая версия.

Сообщение Vespertilio »

А есть ли где-то описаная структура приложения? Каждый раз путаюсь там =) Не знаю с чего начать расширять на свой лад

dds
Сообщения: 100
Зарегистрирован: 2013.11.18, 10:48

Re: Yii2-Start новая версия.

Сообщение dds »

Как использовать свои модули? после генерирования через Gii - страница не найдена по ссылке на модуль... прописывал модуль во всех конфигах - толку ноль... wtf?

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

Re: Yii2-Start новая версия.

Сообщение vova07 »

@Vespertilio Пока что никаких особых доков нет. Но структура почти идентична с "Advanced" приложением.

@dds Вам нужно прописать "url" правила для своих модулей. Ничего не работает так как в самом приложении указаны пути только для своих модулей. В случае нового функционала, вам просто нужно дописать ваши правила.

dds
Сообщения: 100
Зарегистрирован: 2013.11.18, 10:48

Re: Yii2-Start новая версия.

Сообщение dds »

@dds Вам нужно прописать "url" правила для своих модулей. Ничего не работает так как в самом приложении указаны пути только для своих модулей. В случае нового функционала, вам просто нужно дописать ваши правила.
спасибо, с модулями разобрался, а подскажите где этот момент прописывается в приложении - "в самом приложении указаны пути только для своих модулей".

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

Re: Yii2-Start новая версия.

Сообщение vova07 »

Каждый модуль имеет свой бустрап файл. В нем и прописываются пути которые ему нужны. Например вот тут https://github.com/vova07/yii2-start-us ... ap.php#L18 прописаны пути для пользовательского модуля. Тут https://github.com/vova07/yii2-start-bl ... ap.php#L18 для блога. И.т.д

Ответить