Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

[Решено] Как убрать один из атрибутов товара, если он закончился на складе


Recommended Posts

Господа, подскажите пожалуйста, как сделать то же что и в этой теме, но со значением одного из атрибутов товара т.е. когда один вид данного товара заканчивался то его и не было бы видно покупателю. Сам не могу разобраться.

Link to post
Share on other sites

как и обещал помогаю избавиться от "лишних" товаров :)

правок очень много :( , поэтому набираемся терпения

шаг #1

открываем файл

catalog/model/catalog/product.php
находим функцию

public function getProductOptions($product_id) {
меняем в ней

$product_option_value_data[] = array(
	'product_option_value_id' => $product_option_value['product_option_value_id'],
	'name'                    => $product_option_value_description_query->row['name'],
	'price'                   => $product_option_value['price'],
	'prefix'                  => $product_option_value['prefix']
);
на

$product_option_value_data[] = array(
	'product_option_value_id' => $product_option_value['product_option_value_id'],
	'name'                    => $product_option_value_description_query->row['name'],
	'price'                   => $product_option_value['price'],
	'prefix'                  => $product_option_value['prefix'],
	'quantity'              => $product_option_value['quantity'] /* webme - options show|hide - mod */
);
сохраняем, закрываем.

шаг #2

открываем файл

catalog/controller/product/product.php
находим

foreach ($option['option_value'] as $option_value) {
	$option_value_data[] = array(
		'option_value_id' => $option_value['product_option_value_id'],
		'name'            => $option_value['name'],
		'price'           => (float)$option_value['price'] ? $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) : FALSE,
		'prefix'          => $option_value['prefix']
	);
}
меняем на

foreach ($option['option_value'] as $option_value) {
	if ($option_value['quantity'] > 0) {
		$option_value_data[] = array(
			'option_value_id' => $option_value['product_option_value_id'],
			'name'            => $option_value['name'],
			'price'           => (float)$option_value['price'] ? $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) : FALSE,
			'prefix'          => $option_value['prefix']
		);
	}
}

сохраняем, закрываем.

шаг #3

открываем бутылку пива...

Edited by afwollis
исправлена ошибочка :) и вторая такая же...
  • +1 1
Link to post
Share on other sites

Спасибо, все заработало, пришлось правда повозиться чуть)))

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

в строчке с 'price' должно быть => $product_option_value['price'],

А премного благодарен, чтоб без вас делал

Link to post
Share on other sites

Да, действительно, попалась переменная от другого мода.

Спасибо за "репорт", поправил код.

и еще раз поправил...

Edited by afwollis
Link to post
Share on other sites
  • 2 weeks later...

Вот если бы ещё добавить такую штуку, чтобы оно и сам товар выключало, когда нет ни одного атрибута. У меня все атрибуты (в моём случае расцветки товара) закончились, а товар таки остался... и в строке выбора цвета - пусто. А в корзину товар добавляется. Без атрибутов... :(

Так вот. Не будет ли так любезен многоуважаемый джинн смастырить такую штуку, чтобы и товар вырубало, когда атрибуты закончились?.. :unsure:

Link to post
Share on other sites

Как-то даже не думал о такой возможности.

Смогу посмотреть, что к чему, только через день-два.

Link to post
Share on other sites
  • 9 months later...

Как-то даже не думал о такой возможности.

Смогу посмотреть, что к чему, только через день-два.

Судя по всему вы так и не посмотрели?

Может есть сейчас время?

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

Link to post
Share on other sites

Судя по всему вы так и не посмотрели?

Может есть сейчас время?

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

Господа, а подскажите. Как вы делаете списание товара по атрибутам?

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.