то ждем ваше обращение в нашей службе тех поддержки.
Карта разработчика магазина на 1С-Битрикс — с чего начинать и куда смотреть, когда сайт уже продаёт: PHP, каркас, витрина, git, обмены, дыры. Закрывать все клетки не нужно.
Поле "Символьный код"(CODE) в компоненте "Добавление элементов инфоблока"(iblock. element. add) На многих сайтах поле "Символьный код"(CODE) элемента инфоблока генерируется из "Названия" элемента. Но при использовании компонента "Добавление элементов инфоблока"(iblock.
element. add) это становится невозможно, так как в нём это не реализовано. Для реализации необходимо кастомизировать три компонента : - "Добавление элементов инфоблока"(iblock. element. add) - "Форма добавления / редактирования"(iblock.
element. add. form) - "Список своих элементов"(iblock. element. add. list) Поэтому копируем их в своё пространство имён, например, в папку "/bitrix/components/demo/". Затем потребуется: 1. переименовать папку "/bitrix/components/demo/iblock.
element. add/templates/. default/ bitrix /" в "/bitrix/components/demo/iblock. element. add/templates/. default/ demo /". 2. в файлах - /bitrix/components/demo/iblock. element. add/templates/. default/list. php - /bitrix/components/demo/iblock.
element. add/templates/. default/form. php заменить bitrix на demo . 3. заменить во всех скопированных файлах "component. php" и "template. php": - CODE= на ID= - "CODE" на "ID" (кроме случаев, где "CODE" расположен в коде $arr["CODE"] в файлах .
parameters. php) Поиск и замену можно осуществить средствами Продукта, перейдя в "Контент - Структура сайта - Файлы и папки" в каждую папку скопированного компонента, нажав на кнопку "Поиск" и указав во вкладке "Заменить" следующие параметры(один пример): Имя файла или папки: *mp*.
php Слово или фраза в файле: CODE= Заменить на: ID= Искать в папке: /bitrix/components/demo/iblock. element. add. list Во всех подпапках: Да 4. найти в скопированных файлах ". parameters. php" код [[PRE0]] и добавить после него: [[PRE1]] 5.
в файле "/bitrix/components/demo/iblock. element. add. form/component. php" после строк: [[PRE2]] добавить: [[PRE3]] 6. заменить в файле "/bitrix/components/demo/iblock. element. add/templates/. default/demo/iblock. element.
add. form/. default/template.
"NAME" => GetMessage("IBLOCK_ADD_NAME"),"CODE" => "CODE",
"NAME" => array( "PROPERTY_TYPE" => "S", "MULTIPLE" => "N", "COL_COUNT" => $COL_COUNT, ),
"CODE" => array( "PROPERTY_TYPE" => "S", "MULTIPLE" => "N", "COL_COUNT" => $COL_COUNT, ),
<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 /><?Назад в раздел
