Тема: Настройки модуля по-умолчанию

Добрый день!

Пишу модуль, добавил несколько настроек в него. Помогите при его установке сразу задать некоторым из настроек значения по-умолчанию.

Re: Настройки модуля по-умолчанию

Значения по умолчанию нужно указывать в файле module.xml. У Вас там какие поля?

Re: Настройки модуля по-умолчанию

Вот как пример как это сделано в модуле каталог

<?xml version="1.0" encoding="utf-8"?>
<config>
    <defaultValues>    
        <name multilanguage="true">Каталог товаров</name>
        <description multilanguage="true">Администрирование каталога товаров по рубрикам</description>        
        <version>3.0.0</version>
        <author>ReadyScript lab.</author>
        <is_system>1</is_system>
        <dependfrom>photo</dependfrom>

        <list_page_size>12</list_page_size>
        <list_default_order>dateof</list_default_order>
        <list_default_order_direction>desc</list_default_order_direction>
        <hide_unobtainable_goods>N</hide_unobtainable_goods>
        <default_weight>0</default_weight>
        <disable_search_index>0</disable_search_index>
        <concat_dir_meta>1</concat_dir_meta>
        <auto_barcode>a{n|6}</auto_barcode>
        <buyinoneclick>1</buyinoneclick>
        <update_price_round>0</update_price_round>
        <update_price_round_value>0</update_price_round_value>
        <brand_products_specdir>0</brand_products_specdir>
        <brand_products_cnt>8</brand_products_cnt>
        <use_offer_unit>0</use_offer_unit>
        <import_photos_timeout>20</import_photos_timeout>
        <import_yml_timeout>20</import_yml_timeout>
        <show_all_products>0</show_all_products>
        <list_default_view_as>blocks</list_default_view_as>
        <warehouse_sticks>1,5,15,25,50</warehouse_sticks>
        <oneclick_name_required>1</oneclick_name_required>
        <dont_buy_when_null>0</dont_buy_when_null>
        <csv_offer_product_search_field>title</csv_offer_product_search_field>
        <csv_offer_search_field>sortn</csv_offer_search_field>
        <price_like_slider>0</price_like_slider>
        <not_public_product_404>1</not_public_product_404>
        <yuml_import_setting>0</yuml_import_setting>
        <csv_id_fields type="array">
            <value>title</value>
            <value>barcode</value>
        </csv_id_fields>
        <search_fields type="array">
            <value>properties</value>
            <value>barcode</value>
            <value>short_description</value>
            <value>meta_keywords</value>
        </search_fields>        
    </defaultValues>
</config>

Всё что после тега dependfrom это значения по умолчанию для полей. Например для поля с имененем list_page_size Это <list_page_size>12</list_page_size>

4

Re: Настройки модуля по-умолчанию

Спасибо, все предельно ясно, внесу в modules.xml
Вот мои настройки.
По-умолчанию нужно выставить только некоторые поля с типами INTEGER и STRING, думаю проблем не будет.

<?php
namespace Photomanager\Config;
use RS\Orm\ConfigObject;
use RS\Orm\Type;

/**
* Класс конфигурации модуля
*/
class File extends ConfigObject
{
    /**
     * Метод инициализации свойств ORM объекта
     *
     * @return void
     */
    function _init()
    {
        //Дополняем свойства, определенные у родительского класса
        parent::_init()->append(array(
            t('Требования к обтравке'),
                'requirements_enable' => new Type\Integer(array(
                    'description' => t('Использовать требования к формату фотографий'),
                    'checkboxview' => array(1,0),
                )),
                'image_width' => new Type\Integer(array(
                    'description' => t('Ширина требуемого изображения в px:'),
                )),
                'image_height' => new Type\Integer(array(
                    'description' => t('Высота требуемого изображения в px:'),
                )),
            t('Настройки импорта'),
                'max_bundle' => new Type\Integer(array(
                    'description' => t('Максимальное количество фотографий в пакете у одного обтравщика'),
                )),
                'separator' => new Type\Varchar(array(
                    'maxLength' => '1',
                    'description' => t('Разделитель имени файла и номера при загрузке и выгрузке изображений'),
                )),
                'compare_product_field' => new Type\Varchar(array(
                    'maxLength' => '25',
                    'description' => t('Поле для поиска соответствия имени файла и товара'),
                )),
            t('Цены'),
            'standart_cost' => new Type\Decimal(array(
                'description' => t('Цена обтравки по-умолчанию. Используется, если не задана цена обтравщика'),
                'allowempty' => false,
                'maxlength' => 20,
                'decimal' => 2
            )),
        ));
    }
}