$arItem["INPUT"]
, то компонент кастомизировать придется. Input'ы формируются в component.php: bitrix:catalog.filter: /bitrix/components/bitrix/catalog.filter/component.php:411
(Привет, MVC!). $arResult
компонента. Там вы найдете все, что нужно для формирования input'a (например, массив LIST для атрибута value). Избавьтесь от $arItem["INPUT"]
в своем шаблоне и сформируйте свой input. В Вашем случае это будет выглядеть примерно так:<?foreach ($arItem["LIST"] as $key => $value):?>
<div class="sp_div_block_1">
<label class="section_position__form_sp__label"><?= $arItem["NAME"] ?></label>
<input type="radio" name="<?=$arItem["INPUT_NAME"]?>" value="<?=htmlspecialcharsBx($key)?>"/>
</div>
<?endforeach;?>
Highloadblock\HighloadBlockTable::compileEntity('НАЗВАНИЕ')->getDataClass(); // указываете сразу название вместо ID
function compileEntity($entity): ?Base
{
try {
return Highloadblock\HighloadBlockTable::compileEntity($entity);
} catch (SystemException $systemException) {
// что-нибудь
return null;
}
}
AJAX_MODE
для bitrix:news.list
bitrix:news.list
и заставить его возвращать $arParams['AJAX_ID']
, который он сгенерировал из-за 'AJAX_MODE' => 'Y'
AJAX_ID
для bitrix:news.list
в параметрах catalog.filter
CAjax::GetForm('name="ajaxform" action="formtest.php" method="POST"', 'comp_'.$arParams['AJAX_ID'], $arParams['AJAX_ID'])
CREATE TABLE `developer_region` (
`developer_id` int(11) NOT NULL,
`region_id` int(11) NOT NULL,
PRIMARY KEY (`developer_id`,`region_id`),
CONSTRAINT `FK_developer` FOREIGN KEY (`region_id`) REFERENCES `region` (`id`),
CONSTRAINT `FK_region` FOREIGN KEY (`developer_id`) REFERENCES `developer` (`id`)
);
Bitrix\Main\Diag\ExceptionHandler
вызывается set_exception_handler(function () {})
. if (!Bitrix\Main\Config\Configuration::getValue('exception_handling')['debug']) { // если 'exception_handling' => ['value' => ['debug' => false]]
set_exception_handler(function ($exception) {
(new Bitrix\Main\Diag\ExceptionHandler())->writeToLog($exception, Bitrix\Main\Diag\ExceptionHandlerLog::UNCAUGHT_EXCEPTION); // логируем
LocalRedirect('/500.php');
exit;
});
}
onclick="void(0)"
к ссылке на страницу авторизации, которой присваивался BX.ajax.insertToNode
.foreach($arResult["ITEMS"] as &$arItem)
{
foreach($arParams["PROPERTY_CODE"] as &$pid)
{
$prop = $arItem["PROPERTIES"][$pid];
if(
(is_array($prop["DEFAULT_VALUE"]) && count($prop["DEFAULT_VALUE"])>0)
|| (!is_array($prop["DEFAULT_VALUE"]) && strlen($prop["DEFAULT_VALUE"])>0)
)
{
$arItem["DISPLAY_PROPERTIES"][$pid] = CIBlockFormatProperties::GetDisplayValue($arItem, $prop, "news_out");
}
}
}
unset($arItem, $pid);
$arFields = array(
"CALLBACK_FUNC" => "",
"PRODUCT_PROVIDER_CLASS" => "",
"CUSTOM_PRICE" => "Y",
"IGNORE_CALLBACK_FUNC" => "Y"
);