208 похожих чатов

Всем привет. Подскажите как лучше переделать функционал. У меня в дизайне

сайта предусмотрен разный вид кнопок "в корзину" по условию если товар уже добавлен в корзину, нужно кнопке менять класс и текст.

сейчас у меня это сделано через component_epilog.php шаблона catalog.item - но это неудобно тем что нагружает страницы кучей лишних запросов. Хочу сделать правильно, чтобы функция поиска товаров из корзины и замены классов и текстов кнопок происходила один раз при загрузке страницы.

куда и как лучше положить этот код чтобы он выполнялся в обход кеша на страницах каталога с товарами?
if(CModule::IncludeModule("sale")){

$dbBasketItems = CSaleBasket::GetList(
array(
"NAME" => "ASC",
"ID" => "ASC"
),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => SITE_ID,
"ORDER_ID" => "NULL"
),
false,
false,
array("ID", "PRODUCT_ID", "NAME")
);
$flag = false;
while ($arItems = $dbBasketItems->Fetch()){
if ($arResult['ITEM']['ID'] == $arItems['PRODUCT_ID']){
$flag=true;
}
$carted_goods[$arItems['PRODUCT_ID']] = $arItems['PRODUCT_ID'];
}
if ($flag){?>
<script>
$(".button__text[data-carted='<?=$arResult['ITEM']['ID']?>']").text('В корзине');
</script>
<?php }
}

4 ответов

7 просмотров

чем плох ранее предложенный вариант с константой на уровне init и использование уже в шаблонах?

аяксом привози актуальный стейт одной пачкой. и те что в корзине пометишь

Itachi-Vergil Автор вопроса
Артём Листиков
чем плох ранее предложенный вариант с константой н...

вроде бы popup окна "быстрого просмотра" без загрузки init.php открываются

Itachi Vergil
вроде бы popup окна "быстрого просмотра" без загру...

если они дергаются аяксом и получаются версткой - то мимо init не пройдут, а если там какие-то json или скриптом собираемый попап из уже пришедших данных в карточке, то это уже сами скрипты разбирать и понимать в каком месте вклиниваться

Похожие вопросы

Обсуждают сегодня

Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Господа, а как такое в миграцию засунуть?
Денис Александрович
12
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Карта сайта