Перейти к содержимому


Фото
- - - - -

Сравнительная таблица характеристик товаров в каталоге


  • Чтобы отвечать, сперва войдите на форум
1 ответ в теме

#1 DaVinci

DaVinci
  • Фрилансер
  • 672 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 29.08.2014 - 16:05

Вывод характеристик товаров категории в таблице

 

открываем //view/ProductsView.php добавляем код



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

 

шаблон products.tpl в цикле



{foreach $product->options as $o}
    {$compare_features[{$o->feature_id}] = ['id'=>{$o->feature_id},'name'=>{$o->name}]}
    {$compare_products[{$o->product_id}][{$o->feature_id}] = {$o->value}}
{/foreach}

 

далее



{literal}
<STYLE type="text/css">

    #compare{
      display:none;
      background: #FFFFFF
    }
    #compare th, #compare td{
      border:1px solid #DEDEDE;
      padding:10px;
      width:200px;
    }
    #compare tr.odd td{
      background: #FAFAFA
    }

</STYLE>
<SCRIPT>
$(function() {

    $('a.get_compare').fancybox({'href' : '#compare'});
    $("#compare tr:odd").addClass('odd');
});
</SCRIPT>
{/literal}

<TABLE id='compare'>
    <TR>
        <td>Характеристика</td>
        {foreach $products as $p}
        <td>
            <a href="products/{$p->url}"><img src="{$p->image->filename|resize:100:100}" alt="{$p->name|escape}"/></a>
            <H3>{$p->name}</H3>
        </td>
        {/foreach}
    </TR>
    {foreach $compare_features as $f}
    <TR>
        <TD>{$f.name}</TD>
        {foreach $products as $p}
        <TD>
            {if {$compare_products.{$p->id}.{$f.id}}}{$compare_products.{$p->id}.{$f.id}}{else}-{/if}
        </TD>
        {/foreach}
    </TR>
    {/foreach}
</TABLE>

 

добавляем кнопку



<A class='get_compare button' href="#">Показать таблицу характеристик</A>

 

 

Можно дополнить

 



$('a.get_compare').fancybox({'href' : '#compare'});
    $("#compare tr:odd").addClass('odd');
    $('.this_hide').click(function(){
      var idx =$(this).parent().index();
      $('#compare tr').each(function(index) {
        $(this).find('td').eq(idx).hide();
      });
      return false;
    }) 


...
        <td>
            <a href="products/{$p->url}"><img src="{$p->image->filename|resize:100:100}" alt="{$p->name|escape}"/></a>
            <H3>{$p->name}</H3>
            <A href="#" class='this_hide'>скрыть</A>
        </td>
...
 

 

 

 

===================================================

 

по вопросам: доработка, установки стучите в личку или скайп.

 

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

 

скайп: simpladev



#2 FreePM

FreePM
  • Пользователь
  • 55 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:РБ, Минск

Опубликовано 29.08.2014 - 17:37

Годная штуковина :)

+






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых