Не тот случай, что-бы изобретать велосипеды. За базу взято стандартное приложение yii, генерируемое из консоли
командой % YiiRoot/framework/yiic webapp WebRoot/testdrive
. Думаю это снимет часть проблем новичка. Хотя конечно правильнее на мой взгляд делить фронт и бэк. А тут по структуре всё вроде как в куче получается.
Модули фронт и бэк можно использовать как вариант, но предполагается использование кучи сторонних разработок и модули юзеров, прав и т.д. - общие и при модулях фронт-бэк будет больше путаницы, чем пользы
Попробую разделить на уровне контроллеров и вьюшек, тупо создав подпапки front и Back, в которых будут (предположительно) этакие “надконтроллеры” общего назначения, а сторонние модули надо постараться не трогать вообще, за исключением может быть вьюшек. Попытка не пытка -). Каталог собственного производства так же загоню в отдельный модуль. Причём очень хочется разделить собственно каталог от системы заказов и корзины. Пока слабо понимаю, как это сделать. Вьюшки по любому пересекутся требуя и того и другого и третьего.
Вобщем желаний много, а как это всё сделать пока не очень понятно. Ну главное начать копать от КПП и к обеду что-нибудь прояснится.
Первичная настройка
Куда деть фрэймворк?
Сам фрэймворк у меня оказался за бортом www директории. Как-то мне это не нравится. Кому как, а мне не по фен-шую. Перенес фрэймворк в www/protected/lib/yii
В файле www/index.php
поменял путь к нему:
$yii=dirname(__FILE__).'/protected/lib/yii/yii.php';
По мне так красивее, чем миллион ../../../ и т.д. Опять же, если это всё перерастет из ознакомления для души в работу, лучше сразу готовить нормальные сани, а на некоторых хостингах с папкой “за рутом” могут всякие проблемы возникнуть.
Подключение к БД.
Создал БД jcat
.
В файле protected/config/main.php
раскомментил блок подключения к MySQL и настроил на базу, а подключение к лайт вырубил:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Включение GII
Фишка yii - автоматическое создание кода CRUD - моделей, контроллеров, вьюшек на базе таблицы БД - штука приятная и полезная. В принципе в бэке можно и стандартными вьюшками обойтись, а во фронте как база. Вобщем оно мне надо. Включил раскомментировав в config/main.php соответствующую секцию и прописал в айпи фильтр адрес, на котором сайт на локале крутится и пароль.
1 2 3 4 5 6 7 8 |
|
Включение ЧПУ
Ну а куда без них? Пока тоже всё просто - надо только снять комментарии с секции URLManager в том же главном файле конфигурации:
1 2 3 4 5 6 7 8 9 10 11 |
|
Ага. Просто. Как говорится, “ну вот, началось”. index.php из адреса никуда не делся. Некрасяво. Надо бы разобраться. Придётся шаманить с urlManager и .htaccess. Впрочем можно и не шаманить самому, всё уже придумано до нас. минута на гугле и есть решение. Писать дольше чем делать, но обещал себе родимому. Итак, всё просто. в корне создаём “.htaccess”. Туда рисуем:
1 2 3 4 5 6 7 8 |
|
а в конфиге добавляем параметр для urlManager: 'showScriptName' => false,
, то есть секция теперь выглядит так:
1 2 3 4 5 6 7 8 9 10 11 |
|
Правда если переходить в меню сгенерированного приложения по ссылке “About”, в адреной строке появляется http://locyii/site/page?view=about
, но это уже проблема менюшки, так как http://locyii/site/page/view/about
вполне себе работает. А с меню потом. Может и меню то другое будет.
Ну вот, начальную настройку считаю завершенной. На всё про всё ушло минут 20, это вместе с просматриванием доков на yiiframework.ru. Писал эту простыню гораздо дольше :-)