Стандартно в Битриксе таких возможностей не предусмотрено, здесь уже необходимо дорабатывать компонент под конкретные нужды.
Для примера можно реализовать следующим образом:
1) В коде вызова компонента вручную добавьте ID доп. св-в (которые вы хотите вывести на редактирование)
Код |
---|
...
"PROPERTY_CODES" => array(
0 => "NAME",
1 => "DATE_ACTIVE_FROM",
2 => "69", //ID необходимого свойства
3 => "",
),
"PROPERTY_CODES_REQUIRED" => array(
0 => "NAME",
1 => "DATE_ACTIVE_FROM",
2 => "69", //ID необходимого свойства
3 => "",
),
...
|
1) Скопируйте стандартный шаблон компонента;
2) В нем найдите код
Код |
---|
...
case "S":
case "N":
...
|
Добавьте в него
Код |
---|
case "E":
case "S":
case "N":
|
3) далее необходимо произвести выборку необходимых вам данных и вывести их:
Например:
Код |
---|
...
<?if($propertyID == 69):?>
<select name="PROPERTY[<?=$propertyID?>][<?=$i?>]">
<option value=""></option>
<?
$arSelect = Array("ID", "NAME");
$arFilter = Array("IBLOCK_ID"=>IntVal(15), "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1000), $arSelect);
while($ob = $res->GetNextElement()){
$arFields = $ob->GetFields();
//print_r($arFields);
if($value == $arFields["ID"]){$selected = "selected";}else{$selected = "";}
echo "<option value=\"".$arFields["ID"]."\" ".$selected.">".$arFields["NAME"]."</option>";
}
?>
</select>
<?else:?>
<input type="text" name="PROPERTY[<?=$propertyID?>][<?=$i?>]" size="25" value="<?=$value?>" />
<?if($arResult["PROPERTY_LIST_FULL"][$propertyID]["USER_TYPE"] == "DateTime"):?>
<?$APPLICATION->IncludeComponent(
'bitrix:main.calendar',
'',
array(
'FORM_NAME' => 'iblock_add',
'INPUT_NAME' => "PROPERTY[".$propertyID."][".$i."]",
'INPUT_VALUE' => $value,
),
null,
array('HIDE_ICONS' => 'Y')
);?>
<br /><small><?=GetMessage("IBLOCK_FORM_DATE_FORMAT")?><?=FORMAT_DATETIME?></small>
<?endif?>
<br />
<?endif;?>
...
|
Недостатком такого способа является то, что при редактировании страницы (на которой расположен компонент) через редактор, дополнительные свойства, введенные вручную, удаляются. Но данную проблему можно легко решить доработав данный компонент.