30.09.2009, 21:14
|
|
Администратор
|
|
Регистрация: 25.07.2009
Сообщений: 170
|
|
13. Получение значение и внесение изменений в значения настроек модулей
Добавлены функции self::setExtSettings($array[,$ext=false]) и self::getExtSettings([$ext=false])) для более удобного получения настроек из модуля и внесение настроек в модуль.
PHP код:
self::setExtSettings($ext, $array)
, где- $ext - системное имя модуля (по-умолчанию - имя вызывающего модуля), необходимо указывать, только если мы хотим получить настройки не текущего модуля (не того, из которого происходит вызов метода).
- $array - массив со значениями, в котором ключ элемента массива соответствует значению поля extensions_settings_id таблицы БД extensions_settings, а значение - новому значению свойства
PHP код:
self::getExtSettings($ext)
, где- $ext - системное имя модуля (по-умолчанию - имя вызывающего модуля), необходимо указывать, только если мы хотим получить настройки не текущего модуля (не того, из которого происходит вызов метода).
Таблица extensions_settings содержит следующие поля:- extensions_settings_id - уникальное ID, устанавливается автоматически
- extension_sysname - системное название модуля, которому принадлежит поле
- setting_name -системное название поля (буквы латинского алфавита, цифры, символ подчеркивания и дефис)
- setting_title - Название поля, для вывода в шаблоне
- setting_value - Значение поля
- setting_dim - тип поля для вывода в шаблоне (сантиметры, пиксели, кг и т.п.), если присутствует.
Пример использования:
Код модуля:
PHP код:
// Устанавливаем значение сеттингов $this->setExtSettings("subscribe", $_POST['extensions_settings_id']); // Получаем значение сеттингов $settings = $this->getExtSettings("subscribe"); $this -> smarty -> assign ('subscribe_settings', $settings);
Код шаблона:
PHP код:
<table border="0" cellpadding="0" cellspacing="0" width="100%"> {section loop=$subscribe_settings name=i} <tr> <td nowrap>{$subscribe_settings[i].setting_title|escape}</td> <td><img src="$theme/p.gif" width=10 height=1></td> <td width="100%"><input type="text" name="extensions_settings_id[{$subscribe_settings[i].extensions_settings_id}]" value="{$subscribe_settings[i].setting_value|escape}" class="input100persent" /></td> </tr> {/section} </table>
__________________
Команда Handy.CMS
|