Стояла задача сделать вывод ключевых слов и описания в метатеги в разделах каталога, инфоблоков у меня было 11 штук, естественно везде создавать вручную не было ни какого желания.
Для того что бы создать свойства я использовал код в системе администрирования в "Командная PHP-строка"
CModule::IncludeModule("iblock"); // получим все инфоблоки в каталоге $resB = CIBlock::GetList( Array(), Array( 'TYPE'=>'catalog' ), false ); while($ar_res_blo = $resB->Fetch()) { $iblon[] = $ar_res_blo['ID']; } // запустим цикл для создания свойств foreach ($iblon as $iblon_id) { $oUserTypeEntity = new CUserTypeEntity(); // составим массив для создания свойства $aUserFields = array( 'ENTITY_ID' => 'IBLOCK_'.$iblon_id.'_SECTION', 'FIELD_NAME' => 'UF_KEYWORDS', 'USER_TYPE_ID' => 'string', 'XML_ID' => 'UF_KEYWORDS', 'SORT' => 500, 'MULTIPLE' => 'N', 'MANDATORY' => 'N', 'SHOW_FILTER' => 'N', 'SHOW_IN_LIST' => '', 'EDIT_IN_LIST' => '', 'IS_SEARCHABLE' => 'N', 'SETTINGS' => array( 'DEFAULT_VALUE' => '', 'SIZE' => '20', 'ROWS' => '1', 'MIN_LENGTH' => '0', 'MAX_LENGTH' => '0', 'REGEXP' => '', ), 'EDIT_FORM_LABEL' => array( 'ru' => 'Ключевые слова', 'en' => 'Keywords', ), 'LIST_COLUMN_LABEL' => array( 'ru' => 'Ключевые слова', 'en' => 'Keywords', ), /* Подпись фильтра в списке */ 'LIST_FILTER_LABEL' => array( 'ru' => 'Ключевые слова', 'en' => 'Keywords', ), /* Помощь */ 'HELP_MESSAGE' => array( 'ru' => '', 'en' => '', ), ); $iUserFieldId = $oUserTypeEntity->Add( $aUserFields ); // int }
Этот код для создания свойства для ключевого слова а для описания соответственно
CModule::IncludeModule("iblock"); // получим все инфоблоки в каталоге $resB = CIBlock::GetList( Array(), Array( 'TYPE'=>'catalog' ), false ); while($ar_res_blo = $resB->Fetch()) { $iblon[] = $ar_res_blo['ID']; } // запустим цикл для создания свойств foreach ($iblon as $iblon_id) { $oUserTypeEntity = new CUserTypeEntity(); $aUserFields = array( 'ENTITY_ID' => 'IBLOCK_'.$iblon_id.'_SECTION', 'FIELD_NAME' => 'UF_DESCRIPTION', 'USER_TYPE_ID' => 'string', 'XML_ID' => 'UF_DESCRIPTION', 'SORT' => 500, 'MULTIPLE' => 'N', 'MANDATORY' => 'N', 'SHOW_FILTER' => 'N', 'SHOW_IN_LIST' => '', 'EDIT_IN_LIST' => '', 'IS_SEARCHABLE' => 'N', 'SETTINGS' => array( 'DEFAULT_VALUE' => '', 'SIZE' => '20', 'ROWS' => '1', 'MIN_LENGTH' => '0', 'MAX_LENGTH' => '0', 'REGEXP' => '', ), 'EDIT_FORM_LABEL' => array( 'ru' => 'Описание', 'en' => 'description', ), 'LIST_COLUMN_LABEL' => array( 'ru' => 'Описание', 'en' => 'description', ), /* Подпись фильтра в списке */ 'LIST_FILTER_LABEL' => array( 'ru' => 'Описание', 'en' => 'description', ), /* Помощь */ 'HELP_MESSAGE' => array( 'ru' => '', 'en' => '', ), ); $iUserFieldId = $oUserTypeEntity->Add( $aUserFields ); // int }
Теперь можно насладится результатом без рутинной работы, при желании этот код можно изменить и использовать для создания различных свойств.
Опубликовано: 17 октября 2012
|
|