Jump to content

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


Recommended Posts

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

Link to post
Share on other sites

Ну всем товарам можно задавать свойства, например "вес", "размер" и т.д.
По этим же свойствам можно сортировать товары в категории.
За вывод свойств на странице товара отвечает такой код в файле 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>


Но это не привело к нужному результату.
Link to post
Share on other sites
  • 1 year later...
  • 3 weeks later...

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

 

в шаблоне 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; 
}

Готово!

Link to post
Share on other sites
  • 5 months later...
  • 1 year later...

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...