Добрый день! Скажу прямо: писал на "диком" ПХП, решил попробовать Yii, читал\делал мануал по блогу. Ткните меня, пожалуйста, на доки по принципам реализации цмски (так сказать "для чайников", отлично если будет специфика Yii или любого фреймворка). В итоге нужен информационный сайт, контентом которого будут управлять админы. Заранее благодарен!
Описание скудное, можете пояснить какие задачи выполняем и чем хорош модуль?
И почему сомневаетесь в правильности подхода? ))
И если можно, то сразу общий вопрос по Yii: вот делаю я по туториалу блог. Там вставляются и эксплуатируются методы before\afterSave, afterFind и т.д. Немогу понять зачем надо раскидывать код по этим методам? для демонстрации? хороший тон? или есть реально частые ситуации когда именно в них надо производить определенные действия? Ведь шел бы код сохранения всего чего надо в модель подряд - гораздо легче читалось бы и сразу было бы видно что делается при сохранении модели.
Alex D., с помощью этого модуля можно админку за пару часов склепать, вот здесь более не скудное описание http://janisto.github.io/yii-ycm/
Насчет методов, очень удобная штука, к примеру названия before\afterSave говорят сами за себя, что нужно выполнить перед сохранением модели, а что после, разумеется использовать их не обязательно, но иногда необходимо
ycm полезная штука для создания и менеджмента контентом не в коде а в веб интерфейсе. Да и очень много других вкусностей. Попробуйте почитать тему на форуме если мало описания.
Насчет before и after - да довольно часто встречаются ситуации где эти методы спасают и упрощают жизнь. В демо-блоге скорее всего их абузят для того чтобы показать их вам. Ну вот например: сохранение даты в поле типа date - добавляем в beforeSave
Есть ли какой-то компонент или штатными средствами фреймворка при нажатии на ссылку чтоб открылось модальное окно в который можно отрендерить например какую-то вьюшку (например 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');