Товарищи, такой вопрос. Есть интернет-магазин, переиндексацию товаров произвел полностью. Через компонент поиска получаю ID элементов, удовлетворяющих условиям поиска и затем передаю эти ID в компонент catalog.section
Не так давно отловили баг - что по одному запросу возвращается только один товар. При обновлении кеша - ошибка исчезает. Но после отключения кеша в обоих компоннетах ошибка продолжала рандомно появляться - отловить причину не удается. Есть вероятность, что причина этой ошибки в этой настройке http://prntscr.com/vfxiz2?
Собственно, такой вопрос - используя компонент bitrix:catalog.element, можно ли игнорировать активность товара, чтобы на карточку можно было перейти по прямой ссылке? Сейчас есть необходимость скрыть некоторые товары из каталога, поиска, различных компонентов с популярными и т.п. товарами, но чтобы пользователи, сохранившие ссылку в закладках, все равно могли на страницу этого товара перейти. Как это сделать?
Товарищи, такая проблема: На странице несколько компонентов news.list и каталог с умным фильтром, который при изменении перезагружает раздел каталога через ajax
Так вот, при загрузке страницы PAGEN_ у каталога выставляется 4, а после обновления фильтром - ставится в 1
Можно ли как-то через настройки компонента передать ему уникальный PAGEN_, допустим "PAGEN_CATALOG"? Или есть какие-то другие способы решения проблемы?
Коллеги, подскажите, на каком основании модуль "опросы" определяет, что человек уже проголосовал? Я создал опрос, вывел на страницу, но даже заходя через анонимную вкладку я вижу тольок результаты, сам проголосовать не могу
Коллеги, подскажите - Есть активная рассылка в Сервисы/Рассылки/Список рассылок, "Показать скрытые рубрики подписки" - тоже активна. Все равно выводится данная ошибка. Кеш чистил, не помогло
Есть ли какой то штатный функционал в Битрикс, чтобы выгрузить часть товаров в yml, вручную прописав фильтр, или выборка из умного фильтра битрикс. Какие варианты есть?
Камрады, такой вопрос - через bitrix:socserv.auth.split привязал к пользователю одну или несколько соцсетей для oAuth авторизации. Каким способом могу удалить одну или несколько таких привязок?
Коллеги, подскажите, бьюсь уже довольно долго. Есть задача удалить из элемента один из набора файлов в свойстве. Вроде делаю по документации, но ничего не происходит. Пробовал так:
Товарищи такой вопрос. Сейчас на сайте стоит резервирование товаров при оформлении заказа. Каким образом можно реализовать фичу, чтобы в случае неоплаты товара (или не подтверждения отгрузки, допустим, если оплата наличными) в течении часа товар из резерва убирался и другие пользователи могли его купить?
Есть вот документ "Просто Документ.pdf" А если через CFile::GetPath получать ссылку - он скачивается с нижним названием. Как сгенерировать ссылку, чтобы пользователь скачал файл с нормальным именем?
Ситуация следующая: При оформлении заказа вводится купон, в корзине все считается нормально, скидки применяются и так далее. Но после оформления заказа в админке указывается цена без скидки, причем купон отображается, но в неактивном виде: http://prntscr.com/mte6c9
Самое интересное, что если нажать "редактировать заказ", а потом кнопку "Пересчитать заказ" в админке, то купон применяется и все отображается корректно. В чем проблема?
З.Ы. Думал на обработчик навесить функцию, которая будет автоматом пересчитывать заказ и применять купоны, но вот эта конструкция не работает (кроме того, применяется еще и подтягивается неверный тип цены (Подтягивается базовая цена, а для зарегистрированных пользователей должна подтягиваться цена для ИМ)
Код
use Bitrix\Main\Loader;
use Bitrix\Sale;
Loader::includeModule("sale");
$order = Sale\Order::load(27076);
Sale\DiscountCouponsManager::init(
Sale\DiscountCouponsManager::MODE_ORDER, [
"userId" => $order->getUserId(),
"orderId" => $order->getId()
]
);
$coupons = \Bitrix\Sale\DiscountCouponsManager::get(false, array());
\Bitrix\Sale\DiscountCouponsManager::clearApply(true);
\Bitrix\Sale\DiscountCouponsManager::useSavedCouponsForApply(true);
foreach($coupons as $coup){
\Bitrix\Sale\DiscountCouponsManager::add($coup);
}
$discount = $order->getDiscount();
$discount->setOrderRefresh(true);
$discount->setApplyResult(array());
if (!($basket = $order->getBasket())) {
throw new \Bitrix\Main\ObjectNotFoundException('Корзины не найдено');
}
$basket->refreshData(array('PRICE', 'COUPONS'));
$discount->calculate();
$order->save();
\Bitrix\Sale\Provider::resetTrustData($order->getSiteId());
У каждого свойства ИБ есть параметр "Показывать на странице списка элементов". Но через CIBlockProperty::GetList значение этого параметра не получить. Кто-нибудь в курсе, как вытащить это значение?
Вкратце - есть боевой и тестовый сайты, посажены на гит. На боевом сайте сменили редакцию с "малый бизнес" на "бизнес". Как синхронизировать с тестом, если /bitrix/ добавлена в gitignore?
Никто не сталкивался с реализацией? Удивлен, что такого нельзя реализовать в админке стандартными правилами, чтобы можно было создать многоразовый купон, который бы могли пользователи применять только если у них не было ранее заказов.
Я хотел поставить проверку в обработчик через AddEventHandler('catalog', 'OnBeforeDiscountAdd','CheckFirstOrderCoupon'); Но, к большому удивлению, это событие не отрабатывает при применении купона. Пока что поставил костыль в ядре, но это так надолго не оставить. Есть у кого идеи? Или примеры реализации?
Такая проблема - нужно, чтобы в письме о новом заказе приходило вложение (файл, который при оформлении заказа загружает пользователь). Через обработчик OnOrderNewSendEmail я запиваю в arFields['RQS'] ID этого загруженного файла, а потом через обработчик OnBeforeEventSend пытаюсь добавить в $arTemplate['FILES'] этот файл. Причем при логировании в $arFields['RQS'] содержится этот IDшник, но после $arTemplate['FILES'] = $arFields['RQS'] логирование $arTemplate['FILES'] = NULL