Перейти к содержанию
Andrej1986

Стандартные акции. Поменять местами старую и акционную цену

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

Здравствуйте. Подскажите, пожалуйста, может кто-то сталкивался. Товар выгружается на сайт с 1С каждый день. К примеру, "джинсы" раньше стоили 1000 руб, теперь акционная цена на них 500 руб. Цена меняется в 1С, соответственно на сайт выгружается цена 500 руб. В стандартных акциях можно выставить новую цену товара, при этом она будет акционной, и получится, что акционная цена 1000 руб. Но нужно, чтобы акционная цена товара была 500 руб, а цена в 1000 руб была как бы "старой" ценой, перечёркнутой. Что нужно поправить? Или может модули акций какие-то с таким функционалом есть?

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


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

В контроллере делаете сравнение и если вторая выше, меняете местами

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


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

В контроллере делаете сравнение и если вторая выше, меняете местами

Спасибо, буду пробовать

Изменено пользователем Andrej1986

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


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

Есть модуль : массовое изменение цен, акций, скидок

Правда откуда брался не помню.

Вот пример с ценой http://mebelny.in.ua/108-schkafy-kupe-standartnye/116-dvuhdvernye-schkafy-kupe-

Изменено пользователем ABEXX

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


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

Есть модуль : массовое изменение цен, акций, скидок

Правда откуда брался не помню.

Вот пример с ценой http://mebelny.in.ua/108-schkafy-kupe-standartnye/116-dvuhdvernye-schkafy-kupe-

Спасибо, поищу

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


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

Спасибо, буду пробовать

Пока что получилось поменять цены местами на страницах товара и акций. Но при добавлении в корзину всё равно цены не правильные

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


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

Есть модуль : массовое изменение цен, акций, скидок

Правда откуда брался не помню.

Вот пример с ценой http://mebelny.in.ua/108-schkafy-kupe-standartnye/116-dvuhdvernye-schkafy-kupe-

Модуль посмотрел, не умеет он этого. Он может только добавлять или отнимать цену. Местами не меняет

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


Ссылка на сообщение
Поделиться на другие сайты
			//special > price
//условие, что акционна цена больше обычной
			if ($product_info['special']>$product_info['price']){			
			if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
				
				$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
			} else {
				$this->data['price'] = false;
			}
						
			if ((float)$product_info['special']) {
				$this->data['special'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
			} else {
				$this->data['special'] = false;
			}
			
			if ($this->config->get('config_tax')) {
				$this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
			} else {
				$this->data['tax'] = false;
			}
			}
			//price > special
//условие, что цена выше акционной
			else{
			if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
				
				$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
			} else {
				$this->data['price'] = false;
			}
						
			if ((float)$product_info['special']) {
				$this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
			} else {
				$this->data['special'] = false;
			}
			
			if ($this->config->get('config_tax')) {
				$this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
			} else {
				$this->data['tax'] = false;
			}	
			}

так делал в product.php, цены поменялись местами, а вот в category.php и cart.php такое не прокатило))) Видимо я что-то делаю неправильно или не там) Направьте, пожалуйста, кто знает

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


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

в category.php тоже прокатило, я не внимательно поменял. А вот что делать с cart.php не знаю. Там в принципе нет ничего со special связанного, только с price. Или может где-то в другом месте поменять можно, чтобы в корзине цена правильная была?

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


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

в корзине тоже поменял цену)

в файле system/library/cart.php

изменил это

if ($product_special_query->num_rows) {
$price = $product_special_query->row['price'];
} 

на это

if ($product_special_query->row['price']>$product_query->row['price']){
if ($product_special_query->num_rows) {
$price = $product_query->row['price'];
}						
}
else{
if ($product_special_query->num_rows) {
$price = $product_special_query->row['price'];
}							
}

Ещё где-то нужно править?

Изменено пользователем Andrej1986

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


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

подход стратегически не верный. Надо было устранять причину а не последстивия.

В данном случае менять обработку 1С.

В крайнем случае не использовать special совсем, а сделать свой аналог.

А то что сейчас получилось и какие проблемы всплыли, это страшный сон разработчика.

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


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

подход стратегически не верный. Надо было устранять причину а не последстивия.

В данном случае менять обработку 1С.

В крайнем случае не использовать special совсем, а сделать свой аналог.

А то что сейчас получилось и какие проблемы всплыли, это страшный сон разработчика.

Не могли бы вы объяснить, какие проблемы в дальнейшем могут быть? Акционная цена выше обычной не планируется в принципе. Просто хочется понять для себя, с чем можно сталкнуться.

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


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

Поменять местами несложно, но

 

Нужно знать состав product_special

 

там может быть

 

product.price = MMM

 

product_specia.price = NNN

product_specia.price = NNN

product_specia.price = NNN

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.