базовая и ещё 2), разбиты по городам.
Появилась необходимость для одного пользователя сделать наценку вида price_id_3 +5%.
без создания нового типа цены с наценкой 5% эту задачу никак не решить? правило корзины не подходит, потому что цена будет пересчитываться в корзине, а нужно чтобы пользователь везде на сайте видел уже изменённые цены.
скидки в режиме "до конвертации"
Вы ее и с типом цены не решите. Из перечня доступных выбирается минимальная.
почему не решу? создать price_id_4 в которую писать копию значения price_id_3 и наценку 5% и этому пользователю дать права на покупку только по price_id_4 и всё. просто я не хочу из-за этой мелочи новый тип цен создавать. на 100к товаров огромная лишняя нагрузка на БД с этими типами цен
Ваш пользователь находится в группе 2. Вы у этой группы тоже все права на остальные типы цен заберете?
тогда тем более надо без создания нового типа цен как-то придумать. нет способа транслировать цены заданные в правиле корзины на весь каталог?
придумал тупой костыль. сделать в init.php функцию которая принимает вна вход любую стоимость, и проверяет по иду текущего пользователя свойство этого пользователя со значением наценки. и если оно есть, возвращает увеличенную на этот процент цифру. далее во всех шаблонах в каталоге в result_modifier.php надо будет подставить эту функцию для изменения цены выводимой в шаблоне. из подводных пока обнаружил что при переходе в корзину эта функция в шаблоне компонента catalog.item ломает загрузку страницы корзины. ещё что может выплыть неприятное? global $APPLICATION; $page = $APPLICATION->GetCurDir(); if ($page != '/basket/'){ foreach ($arResult['ITEM']['ITEM_PRICES'] as &$arPrice){ $rPrice = getDisplayMarkupPrice($arPrice['RATIO_PRICE']); if ($rPrice > 0){ $arPrice['RATIO_PRICE'] = $rPrice; } } }
Если речь о штатных компонентах - то есть вы не удивитесь, что цена начнет "мигать" - то работает, то нет? Подсказываю - кеш компонент.
пока кеш отключен. я обдумываю как грамотно с этим поступить. может быть блок с ценой подклоючать в обход кеша?
А зачем скрипт считает цены на беке если это можно джиэсом сделать? К тому же способ фигня потому что кто-то может вырубить джиэс в браузере, и что тогда?
Каким бы не был человек, это не должно ему ломать страницу с ценами. Но я понял, тут и без жс можно делать. Просто вставить в класс или ид враппера цены ид пользователя и выводить оба типа цены. И цсслм прописать видимость нужного блока только при наличии нужного класса/ида в обёртке😂 но тогда с сео придётся долго пыхтеть, если оно нужно для этих цен Слава богу что мне не нужно😁
тогда и цены ему не нужны, т.к. купить ничего не сможет * а если вырубить инет вместе с js уже ничего не спасет точно :)
без инета еще ладно, но без js невозможно *отсутствие инета собственно не мешает дальше работать с сайтом :) ну если конечно заморочиться основательно
Обсуждают сегодня