Файл sidebar.tpl¶
Данный файл отвечает за отображение списка категорий, новостей, брендов и т.п. в левой части сайта.
В базовом шаблоне он имеет следующую структуру:
1 <div id="categories_menu_tree">
2 <ul class="categories_tree_list">
3 {echo ShopCore::app()->SCategoryTree->ul()}
4 </ul>
5 <h3>Все бренды магазина</h3>
6 <div class="brand">
7 {foreach SBrandsQuery::create()->find() as $brand}
8 <a href="{shop_url('brand/' . $brand->getUrl())}">{echo $brand->getName()}</a>
9 {/foreach}
10 </div>
11
12 <h3>Бренды по алфавиту</h3>
13 <div class="brand">
14 {foreach ShopCore::app()->SBrandsHelper->getBrandsCharaters(false, array('EN')) as $brandsCharater=>$brands}
15 {if $brands}
16 <div class="bubbleInfo">
17 <div class="trigger"><a>{echo $brandsCharater}</a></div>
18 <div if class="popup">
19 {foreach $brands as $brand}
20 <a href="{shop_url('brand/' . $brand['url'])}">{echo $brand['name'].'('.$brand['total'].')'}</a>{counter("<br />", "", "")}
21 {/foreach}
22 </div>
23 </div>
24 {else:}
25 {echo $brandsCharater}
26 {/if}
27 {/foreach}
28 </div>
29 <h3>Принимаем к оплате</h3>
30 <div class="brand">
31 <img src="{$SHOP_THEME}images/cards.gif" alt="logo" border="0"/>
32 </div>
33 <h3>Время работы</h3>
34 <div class="time_work">
35 Магазин работает <b>круглосуточно</b>, можете заказывать товары в любое время. <br />
36 Мы готовы принимать и обрабатывать Ваши заказы каждый день с 10:00 до 19:00. Выходной - воскресенье.
37 </div>
38
39 {widget('latest_news')}
40 {widget('recent_product_comments')}
41 {widget('tags')}
42 </div>
Главные участки файла sidebar.tpl¶
Отображение списка категорий магазина¶
1
2 <ul class="categories_tree_list">
3 {echo ShopCore::app()->SCategoryTree->ul()}
4 </ul>
Данный участок формирует дерево категорий Интернет-магазина.
Отображение списка брендов¶
1
2 <h3>Все бренды магазина</h3>
3 <div class="brand">
4 {foreach SBrandsQuery::create()->find() as $brand}
5 <a href="{shop_url('brand/' . $brand->getUrl())}">{echo $brand->getName()}</a>
6 {/foreach}
7 </div>
Здесь используются следующие переменные:
- {SBrandsQuery::create()->find()} - получения моделей всех брендов
- {shop_url('brand/' . $brand->getUrl())} - формирование ссылки на страницу бренда
- {echo $brand->getName()} - вывод названия бренда
Отображение алфавитного меню брендов¶
1
2 <h3>Бренды по алфавиту</h3>
3 <div class="brand">
4 {foreach ShopCore::app()->SBrandsHelper->getBrandsCharaters(false, array('EN')) as $brandsCharater=>$brands}
5 {if $brands}
6 <div class="bubbleInfo">
7 <div class="trigger"><a>{echo $brandsCharater}</a></div>
8 <div if class="popup">
9 {foreach $brands as $brand}
10 <a href="{shop_url('brand/' . $brand['url'])}">{echo $brand['name'].'('.$brand['total'].')'}</a>{counter("<br />", "", "")}
11 {/foreach}
12 </div>
13 </div>
14 {else:}
15 {echo $brandsCharater}
16 {/if}
17 {/foreach}
18 </div>
Здесь используются следующие переменные:
- {ShopCore::app()->SBrandsHelper->getBrandsCharaters(false, array('EN'))} - получение массива, ключами которого есть буквы алфавита, а значениями - списки брендов.
- {shop_url('brand/' . $brand['url'])} - формирование ссылки на страницу бренда.
- {echo $brand['name'].'('.$brand['total'].')'} - вывод название бренда и количества товаров данного бренда в скобках
Отображение последних новостей¶
За отображение последних новостей отвечает виджет: {widget('latest_news')}
Отображение последних комментариев¶
За отображение последних комментариев отвечает виджет: {widget('recent_product_comments')}
Дополнительные возможности¶
Блок, который отображает список брендов, в которых больше всего товаров.¶
- после или вместо блока
1
2 <div class="brand">
3 {foreach SBrandsQuery::create()->find() as $brand}
4 <a href="{shop_url('brand/' . $brand->getUrl())}">{echo $brand->getName()}</a>
5 {/foreach}
6 </div>
- вставить блок
1 2 <div class="brand"> 3 {foreach ShopCore::app()->SBrandsHelper->mostProductBrands(6) as $brand} 4 <a href="{shop_url('brand/' . $brand['url'])}">{echo $brand['name'].'('.$brand['total'].')'}</a> 5 {/foreach} 6 </div>
где в "mostProductBrands(6)", 6 - это количество выводимых брендов.