Parus CMF

Выкладываем свои наработки
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Parus CMF

Сообщение Rom »

Привет всем. Хочу поделиться CMF с удобным интерфейсом и поддержкой мультиязычности. Сама админка переведена на три языка - Русский, Английский и Латышский. Так же реализован контроль по управлению доступом - RBAC. Делал так чтоб было удобно создавать свои модули используя виджеты, темы, сервисы ... самого модуля admin.

Фронтенд демо
Демо админки - пользователь: admin, пароль: password
GitHub - шаблон для админки (по сути тот же yii2-app-basic) в котором подключён сам модуль, добавлены консольные команды для инициализации приложения (миграции, rbac, демо данные) и много разных полезностей для быстрой разработки.
GitHub - сам модуль админки
API Документация

Что уже реализовано (модули)

- Посты
- Категории
- Страницы
- Виджет галереи
- Управление меню
- Управление языками
- Настройки сайта
- Управление пользователями
- Файловый менеджер

В ближайших планах

- Добавить теги для постов
- Комментарии для постов
- Интерфейс для RBAC
- Ну и конечно рефакторинг и исправление багов.
- Документация

Надеюсь что вам пригодится. Так же если есть - пишите свои замечания и пожелания.

Обновление на версию 1.0.2 есть изменение в бд.

Если используется basic template, тогда в консоле

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

php yii run/migrate
Если модуль используется отдельно

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

php yii migrate --migrationPath=@rokorolov/parus/blog/migrations
php yii migrate --migrationPath=@rokorolov/parus/menu/migrations
php yii migrate --migrationPath=@rokorolov/parus/gallery/migrations


Обновление 08.11.16

Польностью переписан фронтенд.

Добавлен API.
Последний раз редактировалось Rom 2016.11.15, 17:44, всего редактировалось 5 раз.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Админка с поддержкой мультиязычности

Сообщение girmate »

Ждем документацию.
Осторожно! Вы общаетесь с новичком ;)
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Админка с поддержкой мультиязычности

Сообщение Rom »

girmate писал(а):Ждем документацию.
Привет girmate, пока нет доков может есть какие нибудь конкретные вопросы?
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Админка с поддержкой мультиязычности

Сообщение chungachguk »

1. на странице установки модуля неправильно указан неймспейс класса rokorolov\parus\admin\Module
2. у меня с enablePrettyUrl не запустился
3. The file or directory to be published does not exist: ~/yii2-basic/vendor/bower/remarkable-bootstrap-notify/dist - такой папки нет

Ставил, только сам модуль на базовое приложение Yii2.
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Админка с поддержкой мультиязычности

Сообщение chungachguk »

http://yii2basic.local/admin/filemanage ... ager/index
Invalid Configuration – yii\base\InvalidConfigException
The "responsiveFileManagerSrc" must be set.
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Админка с поддержкой мультиязычности

Сообщение Rom »

chungachguk писал(а):1. на странице установки модуля неправильно указан неймспейс класса rokorolov\parus\admin\Module
2. у меня с enablePrettyUrl не запустился
3. The file or directory to be published does not exist: ~/yii2-basic/vendor/bower/remarkable-bootstrap-notify/dist - такой папки нет

Ставил, только сам модуль на базовое приложение Yii2.
Спасибо, исправляю. Помимо enablePrettyUrl ещё нужен и .htaccess, тогда для модуля ссылка на панель управление будет /admin/dashboard/dashboard/index а не /admin как в Parus Basic Template ( так как там прописан 'rules' => [ 'admin' => 'admin/dashboard/dashboard/index' ...).
Последний раз редактировалось Rom 2016.10.18, 11:54, всего редактировалось 1 раз.
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Админка с поддержкой мультиязычности

Сообщение Rom »

chungachguk писал(а):http://yii2basic.local/admin/filemanage ... ager/index
Invalid Configuration – yii\base\InvalidConfigException
The "responsiveFileManagerSrc" must be set.
Для файлового менеджера использую плагин http://www.responsivefilemanager.com (он не идёт вместе с модулем filemanager и настраивается из вне). Для его активации в модуль нужно передать ссылку на него из конфига. Посмотрите для примера конфиг менеджера в шаблоне к модулю https://github.com/rokorolov/parus-basi ... ig/web.php. А я тогда пока опишу в README.

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

        'admin' => [
            'class' => 'rokorolov\parus\admin\Module',
            'fileManagerConfig' => [
                'responsiveFileManagerSrc' => 'ссылка на плагин responsivefilemanager',
                'privateKey' => 'ioqopwdklm'
            ]
        ]
 
responsivefilemanager является менеджером по умолчанию. И при помощи DI можно использовать любой другой

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

Yii::$container->set('rokorolov\parus\filemanager\widgets\FileManager', 'ваш виджет менеджера');
 
так же как и заменить редактор на всем сайте

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

Yii::$container->set('rokorolov\parus\admin\theme\widgets\Redactor', 'ваш виджер редактора');
 
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Админка с поддержкой мультиязычности

Сообщение chungachguk »

Rom писал(а): Спасибо, исправляю. Помимо enablePrettyUrl ещё нужен и .htaccess, тогда для модуля ссылка на панель управление будет /admin/dashboard/dashboard/index а не /admin как в Parus Basic Template ( так как там прописан 'rules' => [ 'admin' => 'admin/dashboard/dashboard/index' ...).
эта ошибка была при первой установке. после того как я залогинился, prettyUrls заработали, не знаю с чем связано. Так как сначала был просто белый экран, и никаких ошибок в логах.
Для файлового менеджера использую плагин http://www.responsivefilemanager.com (он не идёт вместе с модулем filemanager и настраивается из вне). Для его активации в модуль нужно передать ссылку на него из конфига. Посмотрите для примера конфиг менеджера в шаблоне к модулю https://github.com/rokorolov/parus-basi ... ig/web.php. А я тогда пока опишу в README.
вот об этом в доках и указать
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Админка с поддержкой мультиязычности

Сообщение Rom »

chungachguk писал(а):вот об этом в доках и указать
Доки дополнил, исправил баги так же внёс несколько улучшений. Получился такой мини релиз. Ещё раз спасибо за выявления багов.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Админка с поддержкой мультиязычности

Сообщение girmate »

Rom писал(а):
girmate писал(а):Ждем документацию.
Привет girmate, пока нет доков может есть какие нибудь конкретные вопросы?
Да у меня 70% вопросов на форуме не возникло, если бы API фреймворка было бы на русском языке и с чуть более подробным описанием. В код смотреть пока что не сильно умею, а английский мой очень bad. Поэтому и мучаюсь. Если бы у Вас была русская документация, то, возможно, заинтересовался. А так пока что прошел мимо, но за темой буду следить, потому что в целом лично для меня выглядит неплохо.
Осторожно! Вы общаетесь с новичком ;)
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Админка с поддержкой мультиязычности

Сообщение Rom »

girmate писал(а):В код смотреть пока что не сильно умею, а английский мой очень bad.
Для меня читать код это один из главных пунктов процесса обучения. И сейчас и тогда когда я первый раз узнал что такое массив php. Не могу представить как можно обучаться по документации еще и только по русской.

Если вас зацепил какой то проект (не имею ввиду конкретно этот) устанавливайте его и лезьте в код смотрите как это работает, в начале всегда будет трудно но со временем станет легче. Если вы не переступите этот барьер то так и будете как вы выразились мучатся. Конкретно по этому проекту всегда можно прийти сюда и задать вопрос.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Админка с поддержкой мультиязычности

Сообщение girmate »

Rom писал(а):
girmate писал(а):В код смотреть пока что не сильно умею, а английский мой очень bad.
Для меня читать код это один из главных пунктов процесса обучения. И сейчас и тогда когда я первый раз узнал что такое массив php. Не могу представить как можно обучаться по документации еще и только по русской.

Если вас зацепил какой то проект (не имею ввиду конкретно этот) устанавливайте его и лезьте в код смотрите как это работает, в начале всегда будет трудно но со временем станет легче. Если вы не переступите этот барьер то так и будете как вы выразились мучатся. Конкретно по этому проекту всегда можно прийти сюда и задать вопрос.
Ну, скажем не все так плохо. Интернет-магазин я уже запилил. Обучение идет полным ходом. Если сравнить что я понимал тогда и что сейчас в рамках фреймворка, то прогресс налицо. Документацию читаю, через слово понимаю, но иногда все-таки неясно что именно имеется в виду, даже если знаю перевод всех слов. Самое тяжелое для меня то, с чем раньше не сталкивался. Приходится просить чтобы разжевали понятнее. Ну все равно терпимо, жить можно. Мне yii очень нравится, я рад что выбрал именно его как первый фреймворк. С фреймоврков уже не слезу - все очень продуманно, на все есть готовый метод, покрывающий 90% потребностей проекта. Не нужны свои велосипеды. Ну и как говорил SamDark на одной из конференций - реально все ООП спрятано внутри. Мне это очень даже помогает.
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
za4me
Сообщения: 152
Зарегистрирован: 2016.06.26, 15:29
Контактная информация:

Re: Админка с поддержкой мультиязычности

Сообщение za4me »

girmate писал(а):если бы API фреймворка было бы на русском языке
В чем проблема выучить английский? Начните с Пимслера например, мне он очень помог. Ну и учить слова и пытаться говорить на английском с окружающими.
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Parus CMS

Сообщение Rom »

Обновление на версию 1.0.2 есть изменение в бд.

Если используется basic template, тогда в консоле

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

php yii run/migrate
Если модуль используется отдельно

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

php yii migrate --migrationPath=@rokorolov/parus/blog/migrations
php yii migrate --migrationPath=@rokorolov/parus/menu/migrations
php yii migrate --migrationPath=@rokorolov/parus/gallery/migrations
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Parus CMS

Сообщение maleks »

Пощелкал в админке, приятный движок.
Заметил такие баги:
1) добавляю запись, синоним чпу занимается, удаляю запись, синоним не освобождается
2) создаю новую запись и одновременно сразу с картинкой, пишет ошибка сервера
3) если картинка выбрана жму сохранить но ошибки валидации то после перезагрузки картинку надо заново выбирать
4) в картинке проверка только по расширению, а если грузить например пхп файл переименованный в картинку, то далее ошибка порезки, а загрузило ли я не выяснял.
Yii2 universal module sceleton - for basic and advanced templates
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Parus CMS

Сообщение Rom »

maleks писал(а):Пощелкал в админке, приятный движок.
Заметил такие баги:
1) добавляю запись, синоним чпу занимается, удаляю запись, синоним не освобождается
2) создаю новую запись и одновременно сразу с картинкой, пишет ошибка сервера
3) если картинка выбрана жму сохранить но ошибки валидации то после перезагрузки картинку надо заново выбирать
4) в картинке проверка только по расширению, а если грузить например пхп файл переименованный в картинку, то далее ошибка порезки, а загрузило ли я не выяснял.
1. Потому как используется soft delete запись не удаляется из бд (для полного удаление используем AR forceDelete()).
2. Только что создал две новые записи сразу с картинкой никакой ошибки не было. Какое расширение было у картинки?
3. Да, так и есть, после редиректа обратно на форму с ошибками картинку надо указывать заново.
4. Посмотрю как это можно исправить, честно не думал что кто то из админов будет переименовывать php файл в картинку

Спасибо что помогаете.
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Parus CMS

Сообщение maleks »

Rom писал(а): 1. Потому как используется soft delete запись не удаляется из бд (для полного удаление используем AR forceDelete()).
2. Только что создал две новые записи сразу с картинкой никакой ошибки не было. Какое расширение было у картинки?
3. Да, так и есть, после редиректа обратно на форму с ошибками картинку надо указывать заново.
4. Посмотрю как это можно исправить, честно не думал что кто то из админов будет переименовывать php файл в картинку
1. и 3. думаете это юзабильно?
2. Вот сейчас закинул, в категорию Tech, она сохраняется, но при сохранении была ошибка
Ошибка (#8)
Возникла внутренняя ошибка сервера.
В логах подробности должны быть.
4. Ну если движок многопользовательский и юзеры с разными правами и для разных типов сайтов, то мало ли.

А сколько запросов к БД на главной?
И не заметил мультиязычности на фронте.
Yii2 universal module sceleton - for basic and advanced templates
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Parus CMS

Сообщение Rom »

А сколько запросов к БД на главной?
Если имеется ввиду фронт то там 8 запросов 6ms, память 2.102 mb, общие время 26ms, но можно кешировать, это цифры из дебагера.
2. Вот сейчас закинул, в категорию Tech, она сохраняется, но при сохранении была ошибка
Ошибка (#8)
Да, вижу определенно есть проблемы с картинкой, но не могу воспроизвести ошибку, закиньте оригинал в файловый менеджер, я потестирую. И так со всеми картинками или только с этой?
1. и 3. думаете это юзабильно?
Какие варианты можете предложить по 1 пункту?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Parus CMS

Сообщение maleks »

закинул эту картинку. Походу только с теми у которых высота больше ширины.

По 1, ну если вы ее в реальности не удаляете, то тут уже и в таблице синонимов нужно разруливать конфликты. Налицо усложнение, но если прям надо было это soft delete.
Yii2 universal module sceleton - for basic and advanced templates
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Parus CMS

Сообщение Rom »

maleks писал(а):закинул эту картинку. Походу только с теми у которых высота больше ширины.

По 1, ну если вы ее в реальности не удаляете, то тут уже и в таблице синонимов нужно разруливать конфликты. Налицо усложнение, но если прям надо было это soft delete.
Так ошибку с картинкой удалось воспроизвести.

Да, по 1 надо подумать.
Ответить