Файл compare.tpl

Данный файл отвечает за отображение страницы сравнения товаров.

В базовом шаблоне он имеет следующую структуру:

 1 {include_tpl ('sidebar')}
 2 
 3 <div class="products_list">
 4 
 5       <div id="titleExt">
 6         <h5 class="left">Сравнение товаров</h5>
 7         <div class="sp"></div>
 8       </div>
 9 
10     <br/>
11 
12 {if $products->count() == 0}
13     Список товаров для сравнения пустой.
14 {else:}
15     <table border="0" cellpadding="3" cellspacing="3" style="font-size:12px;">
16         {# Row 0 - Name #}
17         <tr valign="top">
18             {foreach $products as $p}
19                 <td>
20                     <a href="{shop_url('product/' . $p->getUrl())}">{echo $p->getName()}</a>
21                 </td>
22             {/foreach}
23         </tr>
24 
25         {# Row 1 - Image #}
26         <tr valign="top">
27             {foreach $products as $p}
28                 <td>
29                     {if $p->getSmallImage()}
30                         <img src="/uploads/shop/{echo $p->getSmallImage()}" alt="{echo $p->getName()}">
31                     {/if}
32                     <br/> <a href="{shop_url('compare/remove/' . $p->getId())}">Удалить</a>
33                 </td>
34             {/foreach}
35         </tr>
36 
37         {#Row 2 - Cusom fields data #}
38         <tr valign="top">
39             {foreach $products as $p}
40             <td>
41                 {$data = ShopCore::app()->SPropertiesRenderer->renderPropertiesArray($p)}
42                 {foreach $data as $key=>$val}
43                     <strong>{$key}</strong> - {$val}<br/>
44                 {/foreach}
45             </td>
46             {/foreach}
47         </tr>
48 
49         {#Row 3 - Description #}
50         <tr valign="top">
51             {foreach $products as $p}
52                 <td>{echo $p->getFullDescription()}</td>
53             {/foreach}
54         </tr>
55 
56         {#Row 3 - Add to cart buttons #}
57         <tr valign="top">
58             {foreach $products as $p}
59                 <td>
60                     <form action="{shop_url('cart/add')}" name="productForm" method="post">
61 
62                     {if $p->countProductVariants() > 1}
63                     <div style="padding-bottom:20px;">
64                     Варианты товара:<br/>
65                         <select name="variantId">
66                         {foreach $p->getProductVariants() as $variant}
67                             <option value="{echo $variant->getId()}">{echo ShopCore::encode($variant->getName())} - {echo $variant->toCurrency()} {$CS}</option>
68                         {/foreach}
69                         </select>
70                     </div>
71                     {else:}
72                         <input type="hidden" name="variantId" value="{echo $p->firstVariant->getId()}" />
73 
74                         <div style="padding-bottom:20px;">
75                             <span class="priceLight">{echo $p->firstVariant->toCurrency()} {$CS}</span><br/>
76                         </div>
77                     {/if}
78 
79                     <input type="hidden" name="productId" value="{echo $p->getId()}" />
80                     <input type="hidden" name="quantity" value="1" />
81 
82                     <input type="submit" value="{echo ShopCore::t('ДОБАВИТЬ В КОРЗИНУ')}"/>
83                     {form_csrf()}
84                     </form>
85                 </td>
86             {/foreach}
87         </tr>
88     </table>
89 {/if}
90 
91 </div>

Главные участки файла compare.tpl

Отображение названия продукта в таблице сравнения

 1  
 2 {# Row 0 - Name #}
 3         <tr valign="top">
 4             {foreach $products as $p}
 5                 <td>
 6                     <a href="{shop_url('product/' . $p->getUrl())}">{echo $p->getName()}</a>
 7                 </td>
 8             {/foreach}
 9         </tr>

Отображение изображения продукта в таблице сравнения

 1  
 2 {# Row 1 - Image #}
 3         <tr valign="top">
 4             {foreach $products as $p}
 5                 <td>
 6                     {if $p->getSmallImage()}
 7                         <img src="/uploads/shop/{echo $p->getSmallImage()}" alt="{echo $p->getName()}">
 8                     {/if}
 9                     <br/> <a href="{shop_url('compare/remove/' . $p->getId())}">Удалить</a>
10                 </td>
11             {/foreach}
12         </tr>

Отображение свойств продукта в таблице сравнения

 1  
 2  {#Row 2 - Cusom fields data #}
 3         <tr valign="top">
 4             {foreach $products as $p}
 5             <td>
 6                 {$data = ShopCore::app()->SPropertiesRenderer->renderPropertiesArray($p)}
 7                 {foreach $data as $key=>$val}
 8                     <strong>{$key}</strong> - {$val}<br/>
 9                 {/foreach}
10             </td>
11             {/foreach}
12         </tr>

Отображение описания продукта в таблице сравнения

1  
2 {#Row 3 - Description #}
3         <tr valign="top">
4             {foreach $products as $p}
5                 <td>{echo $p->getFullDescription()}</td>
6             {/foreach}
7         </tr>

Отображение кнопки добавления в корзину

 1  
 2 {#Row 3 - Add to cart buttons #}
 3         <tr valign="top">
 4             {foreach $products as $p}
 5                 <td>
 6                     <form action="{shop_url('cart/add')}" name="productForm" method="post">
 7 
 8                     {if $p->countProductVariants() > 1}
 9                     <div style="padding-bottom:20px;">
10                     Варианты товара:<br/>
11                         <select name="variantId">
12                         {foreach $p->getProductVariants() as $variant}
13                             <option value="{echo $variant->getId()}">{echo ShopCore::encode($variant->getName())} - {echo $variant->toCurrency()} {$CS}</option>
14                         {/foreach}
15                         </select>
16                     </div>
17                     {else:}
18                         <input type="hidden" name="variantId" value="{echo $p->firstVariant->getId()}" />
19 
20                         <div style="padding-bottom:20px;">
21                             <span class="priceLight">{echo $p->firstVariant->toCurrency()} {$CS}</span><br/>
22                         </div>
23                     {/if}
24 
25                     <input type="hidden" name="productId" value="{echo $p->getId()}" />
26                     <input type="hidden" name="quantity" value="1" />
27 
28                     <input type="submit" value="{echo ShopCore::t('ДОБАВИТЬ В КОРЗИНУ')}"/>
29                     {form_csrf()}
30                     </form>
31                 </td>
32             {/foreach}
33         </tr>