PDA

Просмотр полной версии : Handy.CMS 3.1. build 2003


Handy.CMS
19.01.2010, 15:36
1. Добавлены функции преобразования дат

Во вспомогательную библиотеку утилит (lib.utils) добавлены функции для преобрабозования дат: русских в английские и наоборот.

dateToRus ($date, $delimetr=false), где $delimetr - по-умолчанию - (горизонтальная черта);
dateToEng ($date, $delimetr=false), , где $delimetr - по-умолчанию . (точка).

// Создаем экземпляр класса утилит
$this -> utils = handyCore::loadExtension ('lib.utils');
// Перевод русской даты в английскую
$this -> utils ->dateToRus ("2010-01-20"); // 20.01.2010
$this -> utils ->dateToRus ("2010-02-20", "-"); // 20-01-2010

// Перевод английской даты в русскую
$this -> utils ->dateToEng ("20.01.2010"); // 2010-01-20

Handy.CMS
19.01.2010, 18:33
2. Добавлена возможность установки настроек модуля при создании инсталлятора модуля
В файл package.xml добавлена секция <extension_settings>, которая выглядит следующим образом:


<settings>
<setting>
<setting_name>photogallery_image_middle_width</setting_name>
<setting_title>Ширина уменьшенного среднего фотографии в фотогалереи</setting_title>
<setting_value>250</setting_value>
<setting_dim>пикселей</setting_dim>
</setting>
</settings>

, где:

setting_name - системное имя свойства;
setting_title - отображаемое имя свойства;
setting_value - значение свойства по-умолчанию;
setting_dim - единица изменения свойства.
3. Изменен принцип построение установочного пакета модуля
В следствии введения тем для дизайнов, изменен принцип построения пакета модуля: шаблоны модуля необходимо класть в папку /frontend/templates/default/, это папка темы по-умолчанию, если тема будет отсутствовать в дистрибутиве, она будет создана.

При установке шаблоны также будут скопированы в текущую используемую сайтом тему.

Handy.CMS
19.01.2010, 18:38
4. Установка типа события для модулей
В связи с добалением параметра "тип события модуля" (admin- событие административной части модуля, users - событие публичной части модуля), в package.xml - файл с описанием пакета устанавливаемого модуля для событий добавлено поле <type>:

<events>
<event>
<sys_name>photogallery_add</sys_name>
<display_name>Добавление фотогалерей</display_name>
<type>admin</type>
</event>
</events>

Handy.CMS
21.01.2010, 09:44
5. Редактирования кода страниц
Добавлена возможность редактирования кода страниц из административной части системы.

Handy.CMS
23.01.2010, 17:42
6. Изменение в функции getObjectRights()
В функцию getObjectRights() модуля разделения прав right_access_manager добавлен еще один параметр $not_alone.

Существует 2 варианта использования данной функции:
в рамках шаблона модуля, например, когда Вам нужно прикрепить табличку с вариантами прав в шаблоне вывода редактирования элемента. В этом случае, необходимо установить параметр $not_alone в true, во избежании конфликта вложенности форм.

максимально просто создать отдельную страницу для редактирования прав элеметна, при переходе из списка. В этомм случае функция используется с значением $not_alone, заданным по-умолчанию (false).
Полный вид функции:

getObjectRights ($id, $table_name, $key_field, $parent_id=false, $parent_table=false, $rights_not_alone=false), где

$id - ID элемента, для которого получаются права (пустой для нового элемента)
$table_name - наименование таблицы БД элемента
$key_field - название поля идентификатора элемента в БД
$parent_id - ID родительского элемента, для которого получаются права (по-умолчанию false)
$parent_table - наименование таблицы БД родительского элемента, если задан $parent_id (по-умолчанию false)
Пример использования ф-ции, когда у элемента существует шаблон и мы создаем новый элемент (который еще не сохранен в базу).

// Добавление фотогалереи
if ($param_str['page'] == 'photogallery_add') {
// по результату выполнения ф-ции переменная smarty $rights
// будет содержать табличку с правами, вывод переменной нужно установить
// в нужном месте нашего шаблона
$this -> right_access_manager->getObjectRights ('','photogallery','photogallery_id', false, false, true);
return $this->smarty->fetch('photogallery_edit.tpl');
}

Пример использования ф-ции, когда у элемента нет самостоятельного шаблона редактирования (пример использования: список новостей, список текстовых блоков):

/* Права группы*/
if($param_str['page']=='group_rights') {
// .. остальная часть кода ..
$rights = $this -> right_access_manager->getObjectRights ($param_str [ 'group_id' ], 'news_groups', 'group_id');
}