Стояла задача сделать вывод ключевых слов и описания в метатеги в разделах каталога, инфоблоков у меня было 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
|
|
|