Jump to content

Recommended Posts

данный код формирует связанные товары по артикулу в карточке товара


		// Связанные товары
		$self_ids = array();
		$self_products = array();
		foreach($this->products->get_self_products($product->id) as $p)
		{
			$self_ids[] = $p->related_id;
			$self_products[$p->related_id] = null;
		}

		/* sku_related_products */
	
		if( $product->variant->sku ){ 
			foreach($this->variants->get_sku_product_id($product->variant->sku, $product->id) as $ps)
			{
				$self_ids[] = $ps;
				$self_products[$ps] = null;
			}

			//делаем уникализацию массива
			$self_ids = array_unique($self_ids); 
			 
			
		}
	
		/*/ sku_related_products */

		if(!empty($self_ids))
		{
			foreach($this->products->get_products(array('id'=>$self_ids, 'in_stock'=>1, 'visible'=>1)) as $p)
				$self_products[$p->id] = $p;
			
			$self_products_images = $this->products->get_images(array('product_id'=>array_keys($self_products)));
			foreach($self_products_images as $self_product_image)
				if(isset($self_products[$self_product_image->product_id]))
					$self_products[$self_product_image->product_id]->images[] = $self_product_image;
			$self_products_variants = $this->variants->get_variants(array('product_id'=>array_keys($self_products), 'in_stock'=>1));
			foreach($self_products_variants as $self_product_variant)
			{
				if(isset($self_products[$self_product_variant->product_id]))
				{
					$self_products[$self_product_variant->product_id]->variants[] = $self_product_variant;
				}
			}
			foreach($self_products as $id=>$s)
			{
				if(is_object($s))
				{
					$s->image = &$s->images[0];
					$s->variant = &$s->variants[0];
				}
				else
				{
					unset($self_products[$id]);
				}
			}
			$this->design->assign('self_products', $self_products);
		}

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

Спасибо.

Link to post
Share on other sites
8 минут назад, kislotnik сказал:

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

Спасибо.

Оно тебе нужно? Это создаст колоссальную нагрузку на БД.

Link to post
Share on other sites
1 минуту назад, Noxter сказал:

Оно тебе нужно? Это создаст колоссальную нагрузку на БД.

далаю на свой сайт такую доработу, прикрепил файл.

Снимок экрана 2020-10-16 в 13.10.35.png

Link to post
Share on other sites
46 минут назад, Noxter сказал:

Оно тебе нужно? Это создаст колоссальную нагрузку на БД.

подскажите в каком направлении двигаться, может по аналогии с чем-то  можно сделать?

Link to post
Share on other sites
1 час назад, kislotnik сказал:

далаю на свой сайт такую доработу, прикрепил файл.

Снимок экрана 2020-10-16 в 13.10.35.png

Экстрасенсы в отпуске, так что никто гадать не будет что у тебя там на картинке.

Link to post
Share on other sites
21 минуту назад, kislotnik сказал:

подскажите в каком направлении двигаться, может по аналогии с чем-то  можно сделать?

В направлении view/ProductsView.php

Link to post
Share on other sites
15 часов назад, Noxter сказал:

Оно тебе нужно? Это создаст колоссальную нагрузку на БД.

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

Link to post
Share on other sites
55 минут назад, phukortsin сказал:

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

Это если сделать правильно и оптимально, так как я привык делать, то да! Особой нагрузки не создаст, но если делать через задницу (как это реализовано у ТС), то тормоза обеспечены.

Выбор цвета реализован через сопутствующее товары. Как по мне то это тупейший вариант реализации.

Link to post
Share on other sites
В 17.10.2020 в 09:20, Noxter сказал:

Это если сделать правильно и оптимально, так как я привык делать, то да! Особой нагрузки не создаст, но если делать через задницу (как это реализовано у ТС), то тормоза обеспечены.

Выбор цвета реализован через сопутствующее товары. Как по мне то это тупейший вариант реализации.

Если у него нет вариантов, а каждый товар отдельно как бы ты их связывал?

Link to post
Share on other sites
1 час назад, shooroop сказал:

Если у него нет вариантов, а каждый товар отдельно как бы ты их связывал?

Создал бы варианты и переделал вывод товаров в категории. Логично нет?

:рукалицо:

Link to post
Share on other sites
4 часа назад, shooroop сказал:

Если у него нет вариантов, а каждый товар отдельно как бы ты их связывал?

 

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

Создал бы варианты и переделал вывод товаров в категории. Логично нет?

:рукалицо:

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

отдельный товар это цвет, вариант это размер.

 

Link to post
Share on other sites
6 часов назад, phukortsin сказал:

Давно известно довольно много различных разработок для Simpla, реализующих цвет-размер через варианты...

Вот именно! На кой чёрт всё так усложнять через сопутствующие товары не ясно.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...