Есть сайт https://dev.sibdroid.ru/ на главной странице есть блоки "Акции" и "Новинки", которые выводятся компонентом catalog.section.
При добавлении товара в корзину, у этого товара кнопка "В корзину" меняется на кнопку "Товар в корзине" ну и наоборот при удалении. При обновлении страницы, композит должен фоново подгружать динамические данные, вместо этого отображается кэшированная страница.
То бишь при добавлении товара в корзину и обновлении страницы у этого товара вместо кнопки "В корзину" должна отображаться кнопка "Товар в корзине", но композит не срабатывает.
На сайте включен композит, настройки можно посмотреть на скриншоте. Кнопка "Быстро с 1С-Битрикс" отображается в правом нижнем углу страницы. При включении отладки, данные об неавторизованных или зарегестрированных пользователях (входящих в группы, для которых будет срабатывать композитный режим) не отображаются в таблице отладки, скриншот.
В шаблоне компонента catalog.section установлена настройка голосовать за:
Код
$this->setFrameMode(true);
Код в шаблоне компонента catalog.section, который должен выводить динамические данные:
Где "IBLOCK_ELEMENTS_ELEMENT_CATALOG_OPERATIVNAYA_PAMYAT_VALUE" это VALUE записи в таблице "b_iblock_element_property", а мне нужно VALUE из таблицы "b_iblock_property_enum".
Мне нужно 1 циклом получить разные св-ва элемента ИБ, они могут быть текстовые, список, справочник.... Разные... Как получить мне значения св-в разных типов написав пару строчек кода на d7?
SEL ECT
PE.VALUE, P.CODE
FR OM
b_iblock_element_property EP
INNER JOIN
b_iblock_property_enum PE ON EP.IBLOCK_PROPERTY_ID = PE.PROPERTY_ID AND EP.VALUE = PE.ID
INNER JOIN
b_iblock_property P ON P.ID = EP.IBLOCK_PROPERTY_ID
WHERE
(P.CODE = 'OPERATIVNAYA_PAMYAT' OR P.CODE = 'VSTROENNAYA_PAMYAT')
AND
EP.IBLOCK_ELEMENT_ID = 1617059
Хотелось бы 1 запросом получать значения 2 св-в у элемента, но не знают, как сделать это на D7. Кто знает подскажите пожалуйста.
Но catalog.section встроенный в комплексный catalog ничего не выводит, хотя есть элементы с прошедшим "окончание активности". На странице sections.php комплексного компонента catalog пытаюсь получить фильтр:
Если вместо компонента, который расположен на странице /ajax/show_basket.php я вставляю любой другой компонент или любой текст, при клике на ссылку удалить товар, ajax отлично срабатывает и отображается все как надо.
Наверное какой-то баг с компонентом? Подскажите пути решения проблемы, пожалуйста.
В компоненте eshop.sale.basket.basket, который отвечает за вывод корзины не работает AJAX.
Попытался реализовать ajax собственно ручно:
В шапке сайта подключил: CAjax::Init();
в шаблоне компонента к ссылке, которая отвечает за удаления товара из корзины добавил: onclick="return removeFromCart(this, <?=$arBasketItems["ID"]?>);"
вот функция которая обрабатывает событие onclick: function removeFromCart(element, product_id) { if(!element && !element.href && !product_id) return;
var href = element.href; var tr = "element_basket_"+product_id; var button = $(element);
Сам компонент обернул в: <div id="basket_list"></div>
при нажатии на ссылку элемента отвечающую за удаления товара (если больше одного товара в корзине), происходит полное обновление страницы, в результате я вижу пустую белую страницу
при нажатии на ссылку элемента отвечающую за удаления товара (если один товар в корзине), ajax отлично срабатывает, показывается корзина с надписью, корзина пуста.
Почему, если удаляется последний элемент, то ajax нормально обрабатывается и отображается пустая корзина, а если в корзине несколько товаров, страница перезагружается и отображается как пустая?
Группа пользователя меняется, но старая группа пользователя остается в сессии, как ее можно обновить, чтобы пользователю не надо было переавторизовываться ?
Стандартный компонент bitrix:sale.basket.basket.line выводит общую цену без учета этих скидок... Я вывел так: <? if (!CModule::IncludeModule("sale")) { ShowError(GetMessage("SALE_MODULE_NOT_INSTALL")); return; }
Александр Чертан пишет: Думаю вам надо работать с классом CFile , попробуйте сделать GetFileArray , и в переменных картинок отправлять массив этой функции
Спасибо, но я уже сделал прямым запросом в БД. Документация API не какая(!