Открыта возможность перехода на модули с открытым кодом! Детали

Перейти к публикации

Рекомендованные сообщения

Ситуация сложнейшая)

На пром что бы на товар была акция, нужно указать размер скидки в прайсе:

<discount>40</discount>

Это у нас в шаблоне реализовано таким образом:

{% if offer.oldprice %}<discount>{{offer.oldprice-offer.price}}</discount>{% endif %}

Тоесть от цены что была раньше, отнимается та что есть сейчас (с акцией), и выходит размер скидки для прома.

НО! Есть несколько груп пользователей, и для группы по умолчанию обычная цена 100 грн, а  акционная цена 60 грн. А для оптовой группы обычная цена 50 грн, а акционная 30 грн.

Так вот выше указанный шаблон берет offer.price из оптовой группы. Тоесть выходит так:

100-30=70 (это размер скидки)

А должно быть так:

100-60=40

Как сделать так что-бы offer.price было из группы по умолчанию?

Уже голову сломал но не нашел решение.

Заранее спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

36 минут назад, makedonskiy187 сказал:

Ситуация сложнейшая)

На пром что бы на товар была акция, нужно указать размер скидки в прайсе:

<discount>40</discount>

Это у нас в шаблоне реализовано таким образом:

{% if offer.oldprice %}<discount>{{offer.oldprice-offer.price}}</discount>{% endif %}

Тоесть от цены что была раньше, отнимается та что есть сейчас (с акцией), и выходит размер скидки для прома.

НО! Есть несколько груп пользователей, и для группы по умолчанию обычная цена 100 грн, а  акционная цена 60 грн. А для оптовой группы обычная цена 50 грн, а акционная 30 грн.

Так вот выше указанный шаблон берет offer.price из оптовой группы. Тоесть выходит так:

100-30=70 (это размер скидки)

А должно быть так:

100-60=40

Как сделать так что-бы offer.price было из группы по умолчанию?

Уже голову сломал но не нашел решение.

Заранее спасибо

Здравствуйте.

Скидка берется из группы по умолчанию config_customer_group_id. 

Попробуйте вариант используя {offer.special.N}, где N идентификатор группы покупателя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо. Решение работает

Учитывая что у нас стоит +10% наценки сделали так:
{% if offer.oldprice %}<discount>{{offer.oldprice-(offer.special.1*1.1)}}</discount>{% endif %}

Потому что на все цены добавляется +10% а на offer.special нет. Но работает как надо.

Еще один вопрос. Как сделать что бы +10% не добавлялось на определенные товары. Это товары двух производителей.

Как правильно добавить в шаблон условие например: если vendor Brand1 и Brand2, то цена/1.1

Или же если offer.id 111, 222, 333...777 то цена/1.1

Вот наш блок цены в шаблоне:

 {% if offer.oldprice %}<price>{{offer.oldprice}}</price>{% else %}<price>{{offer.price}}</price>{% endif %}

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, makedonskiy187 сказал:

Спасибо. Решение работает

Учитывая что у нас стоит +10% наценки сделали так:
{% if offer.oldprice %}<discount>{{offer.oldprice-(offer.special.1*1.1)}}</discount>{% endif %}

Потому что на все цены добавляется +10% а на offer.special нет. Но работает как надо.

Еще один вопрос. Как сделать что бы +10% не добавлялось на определенные товары. Это товары двух производителей.

Как правильно добавить в шаблон условие например: если vendor Brand1 и Brand2, то цена/1.1

Или же если offer.id 111, 222, 333...777 то цена/1.1

Вот наш блок цены в шаблоне:

 {% if offer.oldprice %}<price>{{offer.oldprice}}</price>{% else %}<price>{{offer.price}}</price>{% endif %}

Спасибо

Здравствуйте.

Перед циклом перебора товаров пишите следующее:

 {% set manufacturer_array = [1,2,3,4,5] %}

это объявление массива производителей, на которые Вам не нужно делать наценку. 1,2,3,4,5 - это имя производителей или ИД, в зависимости от того что выводится в  offer.manufacturer

Далее в товара в цене где Вам нужно проверять добавляете условие

 {% if offer.manufacturer in manufacturer_array %} цена без наценки {% else %} Цена с наценкой {% endif %}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, NeoSeo Team сказал:

Здравствуйте.

Перед циклом перебора товаров пишите следующее:

 {% set manufacturer_array = [1,2,3,4,5] %}

это объявление массива производителей, на которые Вам не нужно делать наценку. 1,2,3,4,5 - это имя производителей или ИД, в зависимости от того что выводится в  offer.manufacturer

Далее в товара в цене где Вам нужно проверять добавляете условие

 {% if offer.manufacturer in manufacturer_array %} цена без наценки {% else %} Цена с наценкой {% endif %}

Так, это я понял)))

Но как совместить {% if offer.manufacturer in manufacturer_array %} и {% if offer.oldprice %}

Чтот совсем запутался.

Это такие макароны выходят что ли?

{% if offer.oldprice %} 
<price>
  {% if offer.manufacturer in manufacturer_array %} {{offer.oldprice}} {% else %} {{offer.oldprice*1.1}} {% endif %} 
</price> 
{% else %} 
<price>
  {% if offer.manufacturer in manufacturer_array %} {{offer.oldprice}} {% else %} {{offer.oldprice*1.1}} {% endif %} 
</price> 
{% endif %}

Я еще не проверял, с телефона зашёл. Но кажется мне что я что то страшное и неработающе написал. Или нет?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

16 часов назад, NeoSeo Team сказал:

Здравствуйте.

Перед циклом перебора товаров пишите следующее:

 {% set manufacturer_array = [1,2,3,4,5] %}

это объявление массива производителей, на которые Вам не нужно делать наценку. 1,2,3,4,5 - это имя производителей или ИД, в зависимости от того что выводится в  offer.manufacturer

Далее в товара в цене где Вам нужно проверять добавляете условие

 {% if offer.manufacturer in manufacturer_array %} цена без наценки {% else %} Цена с наценкой {% endif %}

Здравствуйте. Если перед циклом перебора товаров вставить {% set manufacturer_array = [Xiaomi] %} где Xiaomi производитель, то прайс не генерируется, просто пустая страница.

Хотя в offer.manufacturer выводиться именно имя производителя.

Если вставить {% set manufacturer_array = [86] %} где 86 ID производителя из таблицы MySQL oc_manufacturer, то цена везде остается прежней,  тоесть с наценкой

Блок цен сейчас выглядит так:

{% if offer.oldprice %}
               <price>
                    {% if offer.manufacturer in manufacturer_array %} {{offer.oldprice}} {% else %} {{offer.oldprice*1.1}} {% endif %}
              </price>
{% else %}
              <price>
                    {% if offer.manufacturer in manufacturer_array %} {{offer.price}} {% else %} {{offer.price*1.1}} {% endif %}
              </price>
{% endif %}

Подскажите пожалуйста, что сделано не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

16 минут назад, makedonskiy187 сказал:

Здравствуйте. Если перед циклом перебора товаров вставить {% set manufacturer_array = [Xiaomi] %} где Xiaomi производитель, то прайс не генерируется, просто пустая страница.

Хотя в offer.manufacturer выводиться именно имя производителя.

Если вставить {% set manufacturer_array = [86] %} где 86 ID производителя из таблицы MySQL oc_manufacturer, то цена везде остается прежней,  тоесть с наценкой

Блок цен сейчас выглядит так:


{% if offer.oldprice %}
               <price>
                    {% if offer.manufacturer in manufacturer_array %} {{offer.oldprice}} {% else %} {{offer.oldprice*1.1}} {% endif %}
              </price>
{% else %}
              <price>
                    {% if offer.manufacturer in manufacturer_array %} {{offer.price}} {% else %} {{offer.price*1.1}} {% endif %}
              </price>
{% endif %}

Подскажите пожалуйста, что сделано не так?

Имя производителя в ковычки возьмите. В одинарные

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 минут назад, NeoSeo Team сказал:

Имя производителя в ковычки возьмите. В одинарные

Взял, работает. Спасибо большущее за оперативную помощь.

Вот вариант для нескольких производителей (добавил перед <items>):

{% set manufacturer_array = ['Xiaomi','Hoco'] %}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, makedonskiy187 сказал:

Взял, работает. Спасибо большущее за оперативную помощь.

Вот вариант для нескольких производителей (добавил перед <items>):

{% set manufacturer_array = ['Xiaomi','Hoco'] %}

Всегда рады вам помочь 😊

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • 7 months later...
01.11.2020 в 02:14, NeoSeo Team сказал:

Скидка берется из группы по умолчанию config_customer_group_id. 

Версия 87, config_customer_group_id = 1, а цену берёт для группы 2. 

Что не так? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Andrii сказал:

Версия 87, config_customer_group_id = 1, а цену берёт для группы 2. 

Что не так? 

Используйте offer.special.1

Вместо config_customer_group_id = 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 часа назад, Andrii сказал:

Версия 87, config_customer_group_id = 1, а цену берёт для группы 2. 

Что не так? 

Здравствуйте.

Модуль генерирует файл на стороне витрины, может у Вас стоит модуль, который изменяет группу покупателя на витрине?

Вы попробовали вариант, который был Вам предложен? 

01.11.2020 в 02:14, NeoSeo Team сказал:

Попробуйте вариант используя {offer.special.N}, где N идентификатор группы покупателя.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...