Вместо  $cartdata->removeItem($key) -->  $cart->removeItem($key);

foreach($cart_products as $key => $cartdata) { 
            if ($cartdata['product']['public'] == 0){
             
                $cart->removeItem($key);
            
            }

Проверил на самой последней версии движка с чистой базой. При сохранении заказа слетают все скидки.
В районе 379 строки в orderctrl.inc.php до  $order->getCart()->saveOrderData()  есть данные о скидках, потом уже записи заказа удаляются, а новые уже не имеют скидки.

Возникла проблема с заказами со скидкой.
1. Заказ создается со товарами со скидкой
http://joxi.ru/xAe14BbFYz5QoA
2. если в заказе обновляешь, например "статус", то товары пересчитываются формуле "цена товара"x"количество", скидка пропадает и стоимость увеличивается.
Товар до обновления: http://joxi.ru/eAO7wWBC41DMEA
Товар после: http://joxi.ru/KAg8wBeFgz7Qxr

Спасибо большое!
Я обновил модуль shop до версии с моделью корзины, которая позволяет делать апдейт скидок (2.0.0.96 кажется)
и использовал Ваш код. Все получилось!

Намного все хуже оказалось. Версия системы достаточно старая и модель корзины не поддерживает скидки на товар, индивидуальную цену.
Пришлось менять модель продукта(

Рассматривал, при ручном вводе правил модуль великолепен. Куплю его на другие магазины.
Но тут 10 000 товаров, у большинства разная скидка в зависимости от определенного количества. Еще есть и предельная скидка для товара, предельная для пользователя.
В итоге, чтобы модуль сработал, надо автоматом раз в день 2000-3000 правил добавлять.

Подскажите, пожалуйста, возможно ли при добавлении в корзину определенного количества некоторого товара делать на данный товар (только на данный) скидку?
Вариант 1. Пробовал цепляться на события корзины, но там только количество.
Вариант 2. Менять getCost из Orm/Product.inc.php. У меня эта функция уже с доработками (проверяется максимальная скидка на товар и корректируется его цена )

458

(34 ответов, оставленных в Вопросы по работе с системой)

Антон пишет:

Это первая часть вопроса. При выгрузке поможет "отбор по условию, "Выгружать с ценой больше 0", в таком случае попадут только реальные характеристики.

Антон, у меня доступа к 1с клиента нет, только высылаемые ими фото. Можете снимок выложить с данной настройкой? Найти не можем

459

(34 ответов, оставленных в Вопросы по работе с системой)

У меня с 1С аналогичная проблема. У некоторых товаров при выгрузкке первая комплектация  без характеристик. А т.к. она первая, то становится основной и у товара цена = 0.

Можно использовать категории с подбором товара. И ссылка красивая будет.

Спасибо!
Пошел читать мануал.

Здравствуйте!
У нас в шаблонах будут работать глобальные переменные?
Делаю в layout.tpl  инициализацию переменных, но они не видны в других местах:

{assign var=theme_mode value="catalog" scope="root"}
{assign var=theme_x value=100 scope="global"}
{assign var=theme_y value=100 scope="global"}
{assign var=theme_width value=200 scope="global"}

и root пробовал и global. Просто хотелось часть настроек скрыть, не выводить их в модуле настроек шаблона.

Увидел в соседней теме:

$(document).ready(function(){
   //Ваш код инициализации

   $("body").on("new-content", function(){
         //Ваш код инициализации
   });
});

Здравствуйте! Делаю свою тему, дошел до фильтров. Поясните, пожалуйста, механизм инициализации скриптов при перезагрузке списка товаров, так как в теме есть свои библиотеки (слайдеры и т.д.), которые необходимо инициализировать заново.

Пора прекращать работать ночью) ID не то прописывал. Спасибо!

Здравствуйте!
Вставляю в шаблон модуль категорий. Необходим вывод строго подкатегорий определенной категории.
Код не срабатывает

{moduleinsert name="\Catalog\Controller\Block\Category" indexTemplate="blocks/category/sub_category.tpl" 
root=166}
или
{moduleinsert name="\Catalog\Controller\Block\Category" indexTemplate="blocks/category/sub_category.tpl" 
root="166"}

В шаблон передается пустой массив dirlist. При значении root=0 все выводится.

467

(3 ответов, оставленных в Вопросы по работе с системой)

Очень удобная штука Sypex Dumper. Работает очень быстро.
Еще можно его в крон поставить.

Мне нравится реализация яндекс.маркет. Когда и постраничная навигация сохранена и есть подгрузка.
Реализация ДНС без постраничной очень неудобна.

Конечный код с добавлением страницы в конец:

{$app->title->addSection("{$app->title->get()} » Страница {$paginator->page}",0)|devnull}

Сейчас данное поле стало очень актуально. Многие ТК требуют паспортные данные получателя при отправке (Деловые линии, ПЭК)

Спасибо!

СЕО категорию, Александр

Спецкатегории, рейтинг и просто блоки с рекомендуемыми товарами решают данный вопрос.

Здравствуйте! Зайдите в настройки модуля "Магазин", там можно добавить дополнительные поля к заказу штатно. Или в настройках модуля "Пользователи" доступны дополнительные поля для профиля.

Пользователь может выбирать из сортировки по цене, названию, наличию и популярности. Теоретически можно использовать сортировку по популярности как собственную, выставим баллы рейтинга товару