Добавление и удаление товаров для сравнения Ajax в Битрикс

https://bazarow.ru/blog-note/2375/

Идем в папку /local/ (если нет, создаем ее) в ней создаем папку ajax в которой создаем файл list_compare.php внутри которого размещаем код:

require_once($_SERVER['DOCUMENT_ROOT']. "/bitrix/modules/main/include/prolog_before.php");
$APPLICATION->IncludeComponent(
	"bitrix:catalog.compare.list", 
	"", 
	array(
		"IBLOCK_TYPE" => "catalog", //Сюда ваш тип инфоблока каталога
		"IBLOCK_ID" => "1", //Сюда ваш ID инфоблока каталога
		"AJAX_MODE" => "N",
		"AJAX_OPTION_JUMP" => "N",
		"AJAX_OPTION_STYLE" => "Y",
		"AJAX_OPTION_HISTORY" => "N",
		"DETAIL_URL" => "#SECTION_CODE#",
		"COMPARE_URL" => "/catalog/compare.php",
		"NAME" => "CATALOG_COMPARE_LIST",
		"AJAX_OPTION_ADDITIONAL" => ""
	),
false
);

JS функция в скрипте

function compare_tov(id)
{
  var chek = document.getElementById('compareid_'+id);
    if (chek.checked)
        {
        //Добавить
        var AddedGoodId = id;
            $.get("/local/ajax/list_compare.php",
            { 
                action: "ADD_TO_COMPARE_LIST", id: AddedGoodId},
                function(data) {
	        $("#compare_list_count").html(data);
        	}
        );
        }
    else
       {
        //Удалить
        var AddedGoodId = id;
            $.get("/local/ajax/list_compare.php",
            { 
                action: "DELETE_FROM_COMPARE_LIST", id: AddedGoodId},
                function(data) {
	        $("#compare_list_count").html(data);
            }
            );
    }
}

Вставляем в шаблон компонента следующий код

<?
  $iblockid = $arElement['IBLOCK_ID'];
  $id=$arElement['ID'];
  if(isset($_SESSION["CATALOG_COMPARE_LIST"][$iblockid]["ITEMS"][$id]))
  {
    $checked='checked';
  }
  else
  {
    $checked='';
  }
?>
<input <?=$checked;?> type="checkbox" id="compareid_<?=$arElement['ID'];?>" onchange="compare_tov(<?=$arElement['ID'];?>);">
Show CommentsClose Comments

Leave a comment