Opencart 2.x — 3.x — поменять местами акции и основную цену

0
1551

Акции в cms OpenCart устроены не самым удобным образом. Для добавления акционной цены нужно в разделе акции указывать уменьшенную акционную цену, а основную цену увеличивать. А если захотите отменить акцию, нужно будет основную цену опять уменьшать. акцию удалять.

 

 

 

Изменим стандартную логику. Сделаем так, что бы при добавлении акции мы добавляли во вкладке АКЦИИ увеличенную цену. В итоге основная цена будет основной (она уменьшенная будет), а акционная станет «старой» (увеличенной). И что бы удалить акцию — достаточно будет удалить ее из вкладки АКЦИИ и на этом все! Эта логика намного легче в плане работы с сайтом.

 

Приступим к изменениям. Изменим логику корзины. Откроем файл: \system\library\cart\cart.php

 

в районе 180 строки есть код

$product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1");

его комментируем или удаляем и вместо него вставляем

$product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$cart['product_id'] . "' ORDER BY  price ASC LIMIT 1");

Далее во всех файлах шаблонов (.twig), где есть товары, меняем местами основную и акционную цены:

 

файлы:

 

\catalog\view\theme\tt_tienda3\template\product\category.twig

\catalog\view\theme\tt_tienda3\template\product\manufacturer_info.twig

\catalog\view\theme\tt_tienda3\template\product\product.twig

\catalog\view\theme\tt_tienda3\template\product\search.twig

\catalog\view\theme\tt_tienda3\template\product\special.twig

 

в этих файлах будет примерно такой код

 

{% else %}
	<p class="special-price"><span class="price">{{ product.special }}</span></p>
	<p class="old-price"><span class="price">{{ product.price }}</span></p>
{% endif %}

 

вместо него вставим такой код, меняем местами

{{ product.special }} и {{ product.price }}

 

{% else %}
	<p class="special-price"><span class="price">{{ product.price }}</span></p>
	<p class="old-price"><span class="price">{{ product.special }}</span></p>
{% endif %}

 

В итоге мы изменили логику работы акций в магазине OpenCart.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь