Как вывести свойства товарной группы в каталоге товаров Ksenmart

ksenmart joomla   2756  

При разработке интернет-магазина на Joomla с помощью компонента Ksenmart, иногда заказчики желают в каталоге товаров вывести все свойства товарной группы.

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

В этой заметке я расскажу как дополнить шаблон.

Сам шаблон вывода товаров находится в ваш_сайт\components\com_ksenmart\views\catalog\tmpl\default_item.php

В нашем случае нам нужно вывести свойства "подача, мощность и давление" у товарной группы насоса.

Код файла default_item.php будет иметь вид:

<?php
/**
 * @copyright Copyright (C) 2013. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$db = JFactory::getDbo();
$query = $db->getQuery(true);
/* найдем все продукты товарной группы */
$query->select('id')->from('#__ksenmart_products')->where('parent_id = ' . $this->product->id );
$db->setQuery($query);
$rows = $db->loadObjectList();

$pod=array(); $nap=array(); $mosh=array(); 

foreach($rows as $prop){ 
  $id=KSMProducts::getProperties($prop->id);
  foreach($id as $_id){
    /* запишем все данные в массив */
    if($_id->alias == "podacha") $pod[] = str_replace(" м3/ч","",$_id->text);
    if($_id->alias == "moschnost") $mosh[] = str_replace(" кВт","",$_id->text);
    if($_id->alias == "davlenie") $nap [] = str_replace(" м","",$_id->text);
  } 
} 
/* удалим дубли и разделим точкой с запятой */
$pod = implode("; ",array_unique($pod));
$mosh = implode("; ",array_unique($mosh));
$nap = implode("; ",array_unique($nap));
?> 
 <tr class="pupmplistItem">
 <td><?php if (!empty($this->product->product_code)): ?>
 <?php echo $this->product->product_code; ?>
 <?php endif; ?> </td>
 <td><a href="<?php echo $this->product->link; ?>"><?php echo $this->product->title; ?></a></td>
 <td><?php 
 if (!empty($this->product->manufacturer_title)){ ?>
 <a href="http://<?php echo $_SERVER['HTTP_HOST'];?>/katalog/search/<?php echo $this->product->manufacturer_alias; ?>"><?php echo $this->product->manufacturer_title; ?></a>
 <?php } ?></td> 
 <td class="txtCenter"><?php echo $pod; ?></td>
 <td class="txtCenter"><?php echo $nap; ?></td> 
 <td>
 <?php
 foreach($this->product->properties as $a=>$prop){
   /* вывод свойства товарной группы с типом список значений */
   if($prop->property_id == 9){
     $a=0;
     foreach($prop->values as $val){
       $a++;
       echo ' <a href="http://'.$_SERVER['HTTP_HOST'].'/katalog/search/sreda='.$val->alias.'">'.$val->title.'</a>';
       if($a<count($prop->values))echo ', ';
     }
   } 
 } 
 ?>
 </td> 
 <td class="txtCenter"><?php echo $mosh; ?></td> 
 <td>
 <div class="grnButton">
 <div class="left"></div>
 <div class="right"></div>
 <div class="content">
 <a href="#">запросить стоимость</a>
 </div>
 </div>
 </td>
 </tr>


В итоге получится такая картина:




Поиск

Метки