Файл 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>