Скопировать этот файл в шаблон и подключить в шаблон? А как тогда отключить встроенный скрипт?
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('search', 'BeforeIndex', array('MySearch', 'BeforeIndex'));
class MySearch {
public static function BeforeIndex($arFields) {
if(intval($arFields['PARAM2']) > 0 && intval($arFields['ITEM_ID']) > 0 && isset($arFields['BODY'])) {
\Bitrix\Main\Loader::includeModule('iblock');
$dbRes = CIBlockElement::GetList(array(), array('IBLOCK_ID' => $arFields['PARAM2'], 'ID' => $arFields['ITEM_ID']), false, false, array('PROPERTY_FILE'));
while($arRes = $dbRes->Fetch()) {
$arFile = CFile::GetFileArray($arRes['PROPERTY_FILE_VALUE']);
$arFields['BODY'] .= PHP_EOL.$arFile['ORIGINAL_NAME'];
}
return $arFields;
}
}
}
intval($arFields['PARAM2']) > 0
можно вместо > 0 указать == ID инфоблока, если для конкретного ИБ надоarray('PROPERTY_FILE')
соответственно array('PROPERTY_свое ID свойства')
get_class($theme->Template());
поймешь что за класс, явно из модуля решения. Дальше ищешь этот класс.innerMenu.onclick = e => {
e.stopPropagation();
}
x.onclick = e => {
e.stopPropagation();
innerMenu.hidden = !innerMenu.hidden;
}
document.body.onclick = () => {
if(!innerMenu.hidden)
innerMenu.hidden = true;
}
$(this).children().each(function (index){
if ($(this).attr('data-position') != (index+1)) {
$(this).attr('data-position', (index+1)).addClass('updated'); // подставляю класс updated если изменилась позиция
}
}).promise().done(function() {
saveNewPositions();
});
data-price="<?=$arItem["VALUES"]["MIN"]["VALUE"];?>"
data-price="<?=$arItem["VALUES"]["MAX"]["VALUE"];?>"
this.inputsPrice = {};
JCSmartFilter.prototype.setInputsPrice = function() {
if(!this.form)
return;
if(!Object.keys(this.inputsPrice).length) {
var inputs = BX.findChildren(this.form, {'tag': new RegExp('^(input)$', 'i'), 'attribute': {'data-price': new RegExp('^(.*)$', 'i')}}, true);
inputs.forEach(function(item, i) {
this.inputsPrice[item.name] = item.dataset.price;
}, this);
}
}
this.setInputsPrice();
JCSmartFilter.prototype.values = function(values) {
values.forEach(function(item, i) {
if(Object.keys(this.inputsPrice).indexOf(item.name) !== -1) {
values[i].value = parseFloat(item.value) !== parseFloat(this.inputsPrice[item.name]) ? item.value : '';
}
}, this);
}
this.values(values);
if (newMinPrice != this.minPrice)
this.minInput.value = newMinPrice;
else
this.minInput.value = "";
this.minInput.value = newMinPrice;
if (price && this.obQuantity && this.obQuantity.value != this.stepQuantity)
if (price && this.obQuantity)
initPriceTotal: function() {
if(this.obPrice && this.obQuantity) {
this.obQuantity.value = this.stepQuantity;
this.setPrice();
}
},
else {
this.initPriceTotal();
}
var bSubmitForm = false;
$('идентификатор формы').on('submit', function(e) {
var _this = $(this);
if(!bSubmitForm) {
e.preventDefault();
setTimeout(function() {
bSubmitForm = true;
_this.submit();
}, 5000);
}
});
По умолчанию $pageElementCount = "10", далее
Если в $_REQUEST есть showBy, то
Если showBy соответствует значению 18, 36, 54, 72,
pageElementCount = $_REQUEST['showBy']
пишем в $_SESSION
Если не соответствует
pageElementCount = $_SESSION['showBy']
$arAvailableCounts = array(18, 36, 54, 72);
$pageElementCount = isset($_COOKIE['showBy']) && intval($_COOKIE['showBy']) ? $_COOKIE['showBy'] : $arParams['PAGE_ELEMENT_COUNT'];
if(isset($_GET['showBy']) && $_GET['showBy'] && in_array($_GET['showBy'], $arAvailableCounts)) {
$pageElementCount = $_GET['showBy'];
setcookie('showBy', $_GET['showBy'], 0, SITE_DIR);
}
<div class="text-right">
<span class="show_title">Показать по </span>
<span class="number_list">
<?foreach($arAvailableCounts as $value):?>
<a class="<?=($value == $pageElementCount ? 'current' : '');?>" href="<?=$APPLICATION->GetCurPageParam('showBy='.$value, array('showBy'));?>" rel="nofollow"><span><?=$value;?></span></a>
<?endforeach;?>
</span>
</div>
<?=$APPLICATION->GetCurPageParam('sort=указываешь поле для сортировки, в твоем случае catalog_PRICE_1&method=указываешь направление сортировки (ASC, DESC)', array('sort', 'method'))?>
$sort = !empty($_GET['sort']) ? $_GET['sort'] : $arParams['SORT_BY1'];
$method = !empty($_GET['method']) ? $_GET['method'] : $arParams['SORT_ORDER1'];
"SORT_BY1" => $sort,
"SORT_ORDER1" => $method,
"ELEMENT_SORT_FIELD" => $sort,
"ELEMENT_SORT_ORDER" => $method,