Настройки
Основной компонент, хранящий в себе данные о сайте, шаблоны «шапки» и «подвала».
Библиотеки
- assets.class.php — класс автоматической склейки css и js файлов. Подключается к сущности движка автоматически, потому что файл имеет суффикс .class.
- emptyClass.php — пустой класс. Подключается только файл, сам класс не инициализируется. Используется для того, чтобы у классов наследованных от него при вызове несуществующих параметров возвращался NULL вместо критической ошибки. Применяется в глобальном объекте настроек.
; Предположим что в файле конфигурации модуля mail параметр abrakadabra не прописан. ; Если бы мы вызывали этот параметр, то PHP выдал бы ошибку. ; Наследуя объект настроек от "пустого класса", мы с безболезненно можем делать такие вызовы, ; применяя их, например, в условных операторах. var_dump($this->gears->mail->abrakadabra); - functions.php — основная библиотека функций.
Модели
- Breadcrumb — модель «хлебной крошки». Полезна при создании информационного объекта, который в последствии вы хотели бы изменять извне посредством хука «hook_breadcrumb_compile_».
/* * Панель информации под каждой нодой представлена объектом breadcrumb. * Текст # должен быть заменен соответствующим кодом. */ ... $data['node_info'] = $this->bc->set('node_info') ->add('#дата и время#') ->add('#аватар и ссылка на профиль автора#') ->compile(TRUE); ... $this->_template('node',$data); /* * Выводим в панель информации ноды иконку для управления избранным * /gears/favorite/_hooks.php */ function favorite_breadcrumb_compile_($Breadcrumb,$return,$replace){ if($Breadcrumb->name == 'node_info'){ $node =& $Breadcrumb->data; $Breadcrumb->add('<a href="/favorite/manage/'.$node->id.'/"><img src="/gears/favorite/img/icon/manage.pnf"></a>') } }Более подробную документацию смотрите в файле класса. - Builder — строитель html-кода. Его суть состоит в том, что не всега красиво использовать html-код в php-контексте.
Умеет выводить информацию прямо в шаблон.$this->builder->h1('Some title','class','id',TRUE);Метод класса должен соответствовать тегу, который вы хотите вывести.
В качестве аргументов разные теги принимают разные параметры.
Последний аргумент, указывающий на вывод в шаблон или возврат результата, является необязательным.
// Ссылка генерируется в строковую переменную $link = $this->builder->a('Текст ссылки','http://адрес_ссылки','class','id'); // Ссылка выводит прямо в шаблон $this->builder->a('Текст ссылки','http://адрес_ссылки','class','id', TRUE); // Можно опустить необязательные параметры -- они не будут участвовать в генерировании строки кода. $link = $this->builder->a('Текст ссылки','http://адрес_ссылки'); // Изображение $this->builder->img('путь_к_изображению','class','id','alt','width','height','border',TRUE);Также вы можете генерировать код открытия и закрытия тегов, используя boolean-значение в качестве первого параметра метода (вместо строки).
Такой метод не может быть выведен в шаблон.
$fieldset = $this->builder->fieldset(TRUE).$html.$this->builder->fieldset(FALSE);Вы можете явно указать необходимые аргументы в массиве, передав его вторым аргументом.
$this->builder->h1('Some title',array('class'=>'title','style'=>'text-align:left;'),TRUE) - Msg — отвечает за работу оповещений. Хранит данные в сессии и на их основе генерирует всплывающее окно оповещения посредством JavaScript.
$this->msg->set('Операция прошла успешно!'); $this->msg->set('Не получилось выполнить запрос.',FALSE); // Или через обертку функции msg('Операция прошла успешно!') msg('Не получилось выполнить запрос.',FALSE); - Panel — модель навигационной панели. Используя шаблон, выводит элементы в виде панели со ссылками, некоторые из которых могут быть активными.
$this->userinfo_tabs = new Panel('userinfo_tabs',FALSE,FALSE,'tabs'); $this->userinfo_tabs->data =& $user; $this->userinfo_tabs->set_title = FALSE; $this->userinfo_tabs->links_base = '/user/'.$user->url_name.'/'; $this->userinfo_tabs->add(array('name'=>'profile','text'=>t('!user Profile'),'index'=>TRUE)); $this->userinfo_tabs->set_active($active); $this->userinfo_tabs->compile(5); - Storage — хранилище информации. Хранит в кэше упорядоченную информацию.
$this->storage->set('section/name',$value); $this->storage->get('section/name'); $this->storage->remove('section/name'); // Можно использовать wildcard $this->storage->remove('section/*'); // Обертки для класса store('section/name',$value); $name = retrieve('section/name'); remove('section/*');
