Здравствуйте! Проект работает на основе "1С-Битрикс: Управление сайтом 12.0.6" и, кажется, использовали готовое решение для сайтов конференций. Проблема возникла при работе с инфоблоком "Отзывы". Встроенный компонент "Отзывы о конференции" позволяет просматривать элемента инфоблока только в конкретном разделе. Поэтому:
1) при использовании штатного компонента iblock.element.add.form раздел элемента приходится указывать вручную из листа. можно ли сделать значение по-умолчанию и не выводить это свойство на web-форму? раздел всегда будет один и тот же. пытался редактировать файл component.php, указывал VALUE => "название раздела" - не помогло. это все, что я нашел в документации
2) компонент iblock.element.add.form не позволяет выводить на форму свойство "Символьный код". воспользовался советом:
Свойство появилось, но что с ним делать? Необходимо, чтобы система сама транслитировала или переводила строку из поля свойства "Название" и вставляла в "Символьный код". Из вышеуказанного решения:
Вроде как предполагается, что происходит обращение к Google Translate, однако, не работает. Если выводить свойство на форму или не выводить, автоматически ничего не подставляется.
С уважением, Иванов Ярослав.
1) при использовании штатного компонента iblock.element.add.form раздел элемента приходится указывать вручную из листа. можно ли сделать значение по-умолчанию и не выводить это свойство на web-форму? раздел всегда будет один и тот же. пытался редактировать файл component.php, указывал VALUE => "название раздела" - не помогло. это все, что я нашел в документации
2) компонент iblock.element.add.form не позволяет выводить на форму свойство "Символьный код". воспользовался советом:
Свойство появилось, но что с ним делать? Необходимо, чтобы система сама транслитировала или переводила строку из поля свойства "Название" и вставляла в "Символьный код". Из вышеуказанного решения:
| Код |
|---|
6. заменить в файле "/bitrix/components/demo/iblock.element.add/templates/.default/demo/iblock.element.add.form/.default/template.php" строчку:
<input type="text" name="PROPERTY[<?=$propertyID?>][<?=$i?>]" size="25" value="<?=$value?>" /><br /><?на код:
<?
$inputID = ($propertyID == "NAME" || $propertyID == "CODE"? 'id="'.$propertyID.'"': "");
$arIBlock = CIBlock::GetArrayByID($arParams["IBLOCK_ID"]);
if($propertyID == "CODE")
{
$arTranslit = $arIBlock["FIELDS"]["CODE"]["DEFAULT_VALUE"];
if($arTranslit["TRANSLITERATION"] == "Y")
{
CUtil::InitJSCore(array('translit'));
?>
<script type="text/javascript">
var oldValue = '';
function transliterate()
{
var from = document.getElementById('NAME');
var to = document.getElementById('CODE');
if(from && to && oldValue != from.value)
{
BX.translit(from.value, {
'max_len' : <?echo intval($arTranslit['TRANS_LEN'])?>,
'change_case' : '<?echo $arTranslit['TRANS_CASE']?>',
'replace_space' : '<?echo $arTranslit['TRANS_SPACE']?>',
'replace_other' : '<?echo $arTranslit['TRANS_OTHER']?>',
'delete_repeat_replace' : <?echo $arTranslit['TRANS_EAT'] == 'Y'? 'true': 'false'?>,
'use_google' : <?echo $arTranslit['USE_GOOGLE'] == 'Y'? 'true': 'false'?>,
'callback' : function(result){to.value = result; setTimeout('transliterate()', 250);}
});
oldValue = from.value;
}
else
{
setTimeout('transliterate()', 250);
}
}
transliterate();
</script>
<?
}
}
?>
<input <?=$inputID?> type="text" name="PROPERTY[<?=$propertyID?>][<?=$i?>]" size="25" value="<?=$value?>" /><br /><? |
С уважением, Иванов Ярослав.