Создание Каркаса Сайта (Мини-Cms)

Добрый день! Скажу прямо: писал на "диком" ПХП, решил попробовать Yii, читал\делал мануал по блогу. Ткните меня, пожалуйста, на доки по принципам реализации цмски (так сказать "для чайников", отлично если будет специфика Yii или любого фреймворка). В итоге нужен информационный сайт, контентом которого будут управлять админы. Заранее благодарен!

Такого манула не встречал, но могу посоветовать следующее из своего опыта:

Если хотите писать CMS используя модули, то советую взглянуть на Yupe CMS, сыроватая, но опыта черпнуть можно достаточно.

Спасибо за упоминание Юпи! =) Постараемся извести "сырость" +)

Артур, спасибо! Буду изучать

http://www.gxccms.com/ - неплохая опенсорс CMS на yii.

Фронт - yii-booster, права - auth, пользователи - user. С этими модулями можно довольно быстро поднять cms.

Я за основу использую вот этот модуль http://www.yiiframework.com/extension/ycm

Как по мне очень хорошая вещь. Хотя возможно мой подход и не совсем правильный :)

Описание скудное, можете пояснить какие задачи выполняем и чем хорош модуль?

И почему сомневаетесь в правильности подхода? ))

И если можно, то сразу общий вопрос по Yii: вот делаю я по туториалу блог. Там вставляются и эксплуатируются методы before\afterSave, afterFind и т.д. Немогу понять зачем надо раскидывать код по этим методам? для демонстрации? хороший тон? или есть реально частые ситуации когда именно в них надо производить определенные действия? Ведь шел бы код сохранения всего чего надо в модель подряд - гораздо легче читалось бы и сразу было бы видно что делается при сохранении модели.

Alex D., с помощью этого модуля можно админку за пару часов склепать, вот здесь более не скудное описание http://janisto.github.io/yii-ycm/ ;)

Насчет методов, очень удобная штука, к примеру названия before\afterSave говорят сами за себя, что нужно выполнить перед сохранением модели, а что после, разумеется использовать их не обязательно, но иногда необходимо :)

ycm полезная штука для создания и менеджмента контентом не в коде а в веб интерфейсе. Да и очень много других вкусностей. Попробуйте почитать тему на форуме если мало описания.

Насчет before и after - да довольно часто встречаются ситуации где эти методы спасают и упрощают жизнь. В демо-блоге скорее всего их абузят для того чтобы показать их вам. Ну вот например: сохранение даты в поле типа date - добавляем в beforeSave


$this->date = date('Y-m-d', CDateTimeParser::parse($this->date, 'MM/dd/yyyy'));

и забываем о бедах с датами ну и так далее.

А можно еще вопрос?

Есть ли какой-то компонент или штатными средствами фреймворка при нажатии на ссылку чтоб открылось модальное окно в который можно отрендерить например какую-то вьюшку (например admin.php), чтоб была возможность выбрать какую-то запись и при закрытии окошка передать $id выбранной записи? (хочу удобно прикреплять к создаваемому пункту меню какой-либо материал).

И второй маленький вопросик - как на PHP\Yii можно заполнить какой-либо textField средством jQuery?

Штатными средствами нет. Но есть вкусное расширение yii-booster. Вот собственно демо сайт http://yii-booster.clevertech.biz/components.html там и сможете что-то подобрать. Ну или же присмотреться в сторону x-editable. Ну или же делать это руками. Но тут надо быть окуратным с аяксом, так как jquery в отрендериной вьюшке не будет работать. Тут тоже придуманы кучи хаков которые есть на форуме и на stackoverflow.

Насчет текстового поля тут все точно также как и обычно. Регистрировать скрипты можна при помощи


Yii::app()->clientScript->registerScript

Ну а дальше выбираем инпут и присваиваем значение:




//вытащить значение

$('input[id=name]').val();

//установить значение

$('input[id=name]').val('bla');



Спасибо, будем пробовать!

http://rutracker.org/forum/viewtopic.php?t=4172581

Мне понравилосб хороший видеокурс, минимум теории, максимум практики

я создаю цмс на yii уже пол года есть неплохие сдвиги но как обычно не хватает рук

в задачи входило разделить гибко бэкенд и фронтенд

удобная установка и обновление модулей

простая работа с фронтенд шаблонами + было несколько идей про кэширование и вообше ускорение работы сайта

разделение бэкенд и фронтенд получилось очень удобным всё реализуется в одном контроллере не над редактить 1000 фаилов

для бэкенда использовал yii-booster от clevertech в нём работа с формами лучше проработана + дописал несколько очень удобных виджетов

не решённые проблемы

так и не додумал как лучше организовать установку и обновление примитив создан более мене есть работа с версиями

но хочется прикрутить как то к хранилищу допустим к гитхабу

до конца не додумал работу со связями и стандартами между модулями

если есть интерес по поднятию такого рода проекта я готов поучаствовать предоставив свои наработки

вопросы все в личку