Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Уроки по созданию своей CMS http://forum.kohanaframework.su/viewtopic.php?f=38&t=657 |
Страница 5 из 6 |
Автор: | mstdmstd [ 02 сен 2013, 09:49 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
Уточните пожалуйста что за модуль common ? У меня в папке модулей: Код:
Понятно с моими функциями - их надо запихнуть в модуль? Так? А модели ? Их тоже запихивать в модуль? Можно пример как это делается ? Также как быть с переопределенными классами Pagination.php и View.php ? |
Автор: | AmberLEX [ 02 сен 2013, 10:34 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
Из модулей common перенесен https://github.com/WinterSilence/kohana-cms Код:
|
Автор: | WinterSilence [ 02 сен 2013, 10:54 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
Цитата: Наиболее логичным является размещение частей в соответствующих приложениях (application). Базовый функционал, на котором строятся приложения, будет размешен в модуле common. Независимые части кода, разместим в отдельных модулях: пагинатор(paginator), капча(captcha) и т.д. Если какой-то код абстрактен т.е. не привязан к конкретной реализации (например тот же пагинатор), то логичнее вынести в его отдельный класс\модуль. Также можно выносить в модули части CMS (например форум или статьи), чтобы потом на другом хостинге можно было быстро собрать эту же CMS, но с другим набором модулей. Модули имеют ту же структуру что и приложения, поэтому создание приложения особо не отличается от создания модуля. В common вы храните все файлы (виды, контроллеры, модели и т.д.), которые используются в нескольких приложениях. Вы можете не создавать лишние классы аля Kohana_... если не планируете расширять данные их в приложениях. Допустим у вас есть модель Article отвечающая за статьи, в backend мы переопределяем её и добавляем, например, метод для импорта статей в PDF, а во frontend, например, переопределяем методы find и find_all, чтобы отображались только статьи прошедшие модерацию - active = 1 (статус проверяется по полю active). Вот тут https://github.com/WinterSilence/kohana ... lop/common можно посмотреть, как приблизительно это должно выглядеть |
Автор: | mstdmstd [ 03 сен 2013, 12:37 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
Спасибо за подсказки, получилось, но за небольшим исключением. В каталоге backend/config мне пришлось оставить 2 файла 1) auth.php. Если его перекинуть в /appcommon/config то я получаю ошибку : Код:
2) database.php Иначе нет доступа к базе данных И копии этих же файлов я скинул в frontend/config иначе те же проблемы на фронтенде. Это как-то лечится? Также в я перенес в appcommon/classes 2 своих переопределенных класса Pagination.php и View.php. Так я вижу что вызывается класс мой View.php класс, но Pagination вызывается не мой В чем может быть проблема ? Pagination прописан в /backend/bootstrap.php. Из-за этого ? |
Автор: | WinterSilence [ 03 сен 2013, 12:49 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
Как уже говорилось играет роль порядок подключения модулей, если в common вы переопределяете какие-то классы модулей, то они должны объявляться после него. С этим же связаны проблемы с конфигами. http://kohanaframework.su/guide/file_system |
Автор: | AmberLEX [ 03 сен 2013, 12:50 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
В system/classes/Kohana/Core.php есть protected static $_paths = array(APPPATH, SYSPATH); Думаю нужно расширить класс common/classes/Kohana.php дописать туда типа protected static $_paths = array(APPPATH, CMNPATH, SYSPATH); CMNPATH определить в index.php аналогично переменной $system = 'system'; Ну и в public static function deinit() Kohana::$_paths = array(APPPATH, CMNPATH, SYSPATH); Думаю это просто еще не сделано в CMS, хотя я не вникал особо, WinterSilence поправь если не так |
Автор: | WinterSilence [ 03 сен 2013, 13:37 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
в common/init.php задается COMMONPATH я стараюсь по минимуму изменять исходные файлы - я не вижу смысла полностью переписывать 2 важных метода ядра, по моему нет никакой проблемы в том, чтобы загружать модуль common первым и получить тот же результат. |
Автор: | mstdmstd [ 04 сен 2013, 10:17 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
Спасибо, если модуль common указать первым все загружается нормально И уточните плиз а нужна ли отдельно констатнта COMMONPATH ? Я так понял что указав путь для модуля common путь в bootstrap.php Kohana сама подключает все классы/модули/контроллы из common ? Поиском в kohana-cms-3.3-develop я не нашел обращения к COMMONPATH. |
Автор: | WinterSilence [ 04 сен 2013, 12:46 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
это заготовка, поэтому некоторый функционал не используется. по поводу загрузки все описано тут http://kohanaframework.su/guide/file_system |
Автор: | sprour [ 06 ноя 2013, 03:07 ] |
Заголовок сообщения: | Re: Уроки по созданию своей CMS |
А расскажи пожалуйста про хелперы и как подгружаются виджеты, снипеты. |
Страница 5 из 6 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |