Перейти к содержанию
Официальный форум поддержки Simpla

Как вывести свойства каждого товара на странице категории?


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

Никак не получается вывести свойства к каждому товару на странице категории.
Simpla 2.1 Буду очень благодарен за помощь.
Всем заранее спасибо.

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

Ну всем товарам можно задавать свойства, например "вес", "размер" и т.д.
По этим же свойствам можно сортировать товары в категории.
За вывод свойств на странице товара отвечает такой код в файле ProductView.php:

$product->features = $this->features->get_product_options(array('product_id'=>$product->id));


и такой код в шаблоне:

{foreach $product->features as $f}
<li>
	<label>{$f->name}</label>
	<span>{$f->value}</span>
</li>
{/foreach}


Пытался по аналогии с картинками и вариантами добавить такой код в ProductView.php:

foreach($products as &$product)
{
	$product->variants = array();
	$product->images = array();
	$product->properties = array();
}

$variants = $this->variants->get_variants(array('product_id'=>$products_ids, 'instock'=>true));

foreach($variants as &$variant)
{
	//$variant->price *= (100-$discount)/100;
	$products[$variant->product_id]->variants[] = $variant;
}

$images = $this->products->get_images(array('product_id'=>$products_ids));
foreach($images as $image)
$products[$image->product_id]->images[] = $image;

$properties = $this->features->get_product_options(array('product_id'=>$products_ids));
foreach($properties as &$property){
	$products[$property->product_id]->properties[] = $property;
           }
foreach($products as &$product)
	{
		if(isset($product->variants[0]))
			$product->variant = $product->variants[0];
		if(isset($product->images[0]))
			$product->image = $product->images[0];
		if(isset($product->properties[0]))
			$product->property = $product->properties[0];
	}




и так вызвать его в шаблоне products.tpl:

<table style="padding: 5px;">	{foreach from=$product->properties item=property}		<tr><td><b>{$property->name|escape}</b></td><td>{$property->value|escape}</td></tr>	{/foreach}</table>


Но это не привело к нужному результату.
Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...
  • 3 недели спустя...

вывод характеристик (свойств) товаров на страницах категорий

 

в шаблоне products.tpl в цикле вывода товаров пишем:

<ul class="features">
{foreach $product->options as $po}
<li>
<label>{$po->name}</label>
<span>{$po->value}</span>
</li>
{/foreach}
</ul>

В файле view/ProductsView.php после:

foreach($products as &$product)
{
if(isset($product->variants[0]))
$product->variant = $product->variants[0];
if(isset($product->images[0]))
$product->image = $product->images[0];
}

добавим следующий код:

$properties = $this->features->get_product_options($products_ids);
foreach($properties as $property) { 
$products[$property->product_id]->options[] = $property; 
}

Готово!

Ссылка на сообщение
Поделиться на другие сайты
  • 5 месяцев спустя...
  • 1 год спустя...

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

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

Гость
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
×
×
  • Создать...