Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 13 ноя 2018, 10:39

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 02 сен 2013, 09:49 
Не в сети
Бывалый

Зарегистрирован: 30 июл 2013, 15:31
Сообщения: 47
Уточните пожалуйста что за модуль common ?

У меня в папке модулей:
Код:
[modules]$ ls -l
итого 36
drwxrwxrwx 1 root root 4096 Окт 23  2012 auth
drwxrwxrwx 1 root root 4096 Окт 23  2012 cache
drwxrwxrwx 1 root root 4096 Окт 23  2012 codebench
drwxrwxrwx 1 root root    0 Окт 23  2012 database
drwxrwxrwx 1 root root    0 Апр 15 09:53 email
drwxrwxrwx 1 root root 4096 Окт 23  2012 image
drwxrwxrwx 1 root root 4096 Окт 23  2012 minion
drwxrwxrwx 1 root root 4096 Окт 23  2012 orm
drwxrwxrwx 1 root root 4096 Авг 13 10:52 pagination
drwxrwxrwx 1 root root 4096 Окт 23  2012 unittest
drwxrwxrwx 1 root root 4096 Окт 23  2012 userguide


Понятно с моими функциями - их надо запихнуть в модуль? Так?
А модели ? Их тоже запихивать в модуль? Можно пример как это делается ?
Также как быть с переопределенными классами Pagination.php и View.php ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 02 сен 2013, 10:34 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
Из модулей common перенесен https://github.com/WinterSilence/kohana-cms
Код:
common/    // Общие файлы, ядро CMS
frontend/  // Общедоступная часть
backend/   // Админская часть
cli/       // консольные приложения

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 02 сен 2013, 10:54 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
Цитата:
Наиболее логичным является размещение частей в соответствующих приложениях (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 можно посмотреть, как приблизительно это должно выглядеть

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 03 сен 2013, 12:37 
Не в сети
Бывалый

Зарегистрирован: 30 июл 2013, 15:31
Сообщения: 47
Спасибо за подсказки,
получилось, но за небольшим исключением. В каталоге backend/config мне пришлось оставить 2 файла
1) auth.php. Если его перекинуть в /appcommon/config то я получаю ошибку :
Код:
Kohana_Exception [ 0 ]: A valid hash key must be set in your auth config.


2) database.php Иначе нет доступа к базе данных

И копии этих же файлов я скинул в frontend/config иначе те же проблемы на фронтенде.
Это как-то лечится?


Также в я перенес в appcommon/classes 2 своих переопределенных класса Pagination.php и View.php.
Так я вижу что вызывается класс мой View.php класс, но Pagination вызывается не мой
В чем может быть проблема ? Pagination прописан в /backend/bootstrap.php. Из-за этого ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 03 сен 2013, 12:49 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
Как уже говорилось играет роль порядок подключения модулей, если в common вы переопределяете какие-то классы модулей, то они должны объявляться после него. С этим же связаны проблемы с конфигами. http://kohanaframework.su/guide/file_system

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 03 сен 2013, 12:50 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
В 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 поправь если не так

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 03 сен 2013, 13:37 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
в common/init.php задается COMMONPATH
я стараюсь по минимуму изменять исходные файлы - я не вижу смысла полностью переписывать 2 важных метода ядра, по моему нет никакой проблемы в том, чтобы загружать модуль common первым и получить тот же результат.

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 04 сен 2013, 10:17 
Не в сети
Бывалый

Зарегистрирован: 30 июл 2013, 15:31
Сообщения: 47
Спасибо,
если модуль common указать первым все загружается нормально
И уточните плиз а нужна ли отдельно констатнта COMMONPATH ?
Я так понял что указав путь для модуля common путь в bootstrap.php Kohana сама подключает все классы/модули/контроллы из common ?
Поиском в kohana-cms-3.3-develop я не нашел обращения к COMMONPATH.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 04 сен 2013, 12:46 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
это заготовка, поэтому некоторый функционал не используется.

по поводу загрузки все описано тут http://kohanaframework.su/guide/file_system

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по созданию своей CMS
СообщениеДобавлено: 06 ноя 2013, 03:07 
Не в сети
Зеленый

Зарегистрирован: 04 ноя 2013, 18:11
Сообщения: 1
А расскажи пожалуйста про хелперы и как подгружаются виджеты, снипеты.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group