Колко бързо направи сайт визитка, ikenfin място

Малко история

Като цяло, за първи път се опитахме да проект YCM ka73.ru. В началото, аз лично съм малко буркани тази експанзия - това е една наистина ви принуждава да се поставят всички логиката в моделите, което е доста удобно в края.

Основният недостатък на този модул е, че работи само с фиксирани джаджи - просто погледнете този метод.

Вече толкова, колкото 360 ЛИНИИ ЗА СТРОИТЕЛСТВО ключ.

И това не е границата - това са необходими потребителски джаджи, този ключ ще расте и расте и расте. Лично моето търпение е изчерпано, когато след въвеждането на джаджа multiaploadinga, ме заведе до администраторския панел за добавяне на още няколко джаджи. Именно поради тази причина, че аз forknul този модул и добавяне на способността да създават свои собствени джаджи.

Въпреки това, той се основава на отделна публикация, в един и същи материал, нека да се съсредоточи върху най-важното - как бързо да направите уеб сайт визитка?

Тъй като сайтът е толкова просто, колкото е възможно, аз ще го използвам за развитието на оригиналния единица YCM Яни Миконен.

Етап 1. Получаване.

На първо място, трябва да се изработи база данни за даден проект. Например, аз се простият схема:

ние ще имаме такива субекти - Page, Меню, потребителя.

Използване на MySQL Workbench изготвят прост ER-диаграма (или създаване на PhpMyAdmin пряко):

След това всичко се трансформира по същество на база данни се използва моделът на синхронизирането й, или да качите и да импортирате кодът на SQL.

След това ние се нуждаем Yii Framework (инсталация и конфигурация процес, вижте. На сайта им), и съответства на модула за YCM (виж връзки. По-горе).

След като приложението се генерира и конфигурирани, можете да започнете да се развива.

Стъпка 2. Свързване на YCM.

Използването GII инструмент генерира необходимия модел за прилагане:

След като генерира всички изисквани модел, можем да започнем да YCM връзка.

За тази цел, защитена / довереник / 'main.php' файл. в раздел модули, добавете следните редове:

На този етап от връзката YCM е завършен, и можете да започнете да се развива модели.

Стъпка 3. Модели

За да направите това в модел клас страницата с (защитени / модели / Page.php) добавете метод attributeWidgets:

Така модифициран модел, получаваме следния представителство:

Създаване на страница с този формуляр и ние виждаме едно смокиново:

Това се случва, тъй като моделът не разполага с данни за списъка. За да се справи със ситуацията, ще се направят следните допълнения към модел Страницата на:

adminSearch метод дава абсолютна YCM разбере кои полета да се показват в списъка с материали. В този случай, ще се появи на полето - на номер, заглавие, дата на създаване, дата на редактиране.

създавате / запазване на датата ще бъде празна, тъй като ние не създава автоматично попълване, за тези области. За да се реши този проблем, можете да отидете два начина - използвайте този вграден поведение клас CTimestampBehavior, или прилагане на този метод в beforeSave ръце.

Ето как да CTimestampBehavior:

Сега се опитайте да редактирате страница, добави още един и да видим какво ще се случи:

И накрая, според мен, не е излишно да getUrl () метод, който връща определен URL за страницата:

В съответствие с това е добра идея да разширите метод adminSearch, незабавно да се покаже връзки към тях:

По принцип, всичко е едно и също, и единственото, което се опитваме да правим, не е наръчник посочване URL за опциите в менюто, избрани страници от падащия списък.

За да направите това, да създаде метод, който ние знаем attributeWidgets:

В допълнение, списък menu_url също трябва да се напълни с нещо, така че трябва да се добави метод menu_itemChoices:

По този начин ние да получите списък на всички страници от сайта и да ги върне в хеш масив url_stranitsy => zagolovok_stranitsy.

Стъпка 4. Frontend

За да се развие интерфейса ще използва стандартните характеристики на Yii Framework, а именно контролери (контрольор) и vyuha (Изглед).

Като цяло, можете да използвате инструмента GII, но тъй като повечето от генерираните Vyuha и екшън игри (действие) за този сайт ние не се нуждаем, предлагам просто да го напишете на ръка. (Колкото по-малко код ще трябва да изрежете)

На първо място, една проста скица на контролера (защитени / контролери / PageController.php):

Сега трябва да създадете шаблон за Vyuha. Аз няма да се даде пълен HTML, но ще се покаже акценти.

Като цяло, оформлението е безкрайно по този начин (защитен / изглед / оформления / 'main.php'):

Така че, основната точка в оформлението - променливо съдържание на $. съдържащите се в него постановено vyuha. $ Тази променлива във всяка Vyuha обикновено копие на текущата контролера.

Сега скицира една проста оформление за vyuha (защитена / възгледи / страница / view.php):

О, щях да забравя - във всеки уважаващ себе си сайт винаги има навигация. В Yii, тя се изпълнява е съвсем проста - ние можем да използвате вградения в клас CMenu за тази цел, обаче, ще трябва да добавите друг метод за моделиране на MenuItem.

Съответно, сега можете да използвате CMenu джаджа на удобно място, например, в оформлението:

И тук е в резултат на което сме постигнали:

По принцип това е възможно и да завърши, а след това просто трябва да приложи плана и да се свържете CSS и JS файлове, а картата следващия сайт е готов!

Пример за готов сайт