HeadHunter
Shop Script
- Регистрация
- 21 Июн 2011
- Сообщения
- 629
- Реакции
- 280
- Автор темы
- #1
Задача. При просмотре категории вывести блок, в котором будут выводится 5 товаров по критерию самые продаваемые.
1. Открываем /published/SC/html/scripts/core_functions/product_functions.php
1. Открываем /published/SC/html/scripts/core_functions/product_functions.php
добавляем
[/spoil]
2. Открываем /published/SC/html/scripts/includes/category.php
[spoil]ищем
ниже вставляем
[/spoil]
3. Открываем шаблон категорий /published/SC/html/scripts/templates/frontend/category.tpl.html и в нужное место вставляем
[spoil]
[/spoil]
4. Открываем файл стилей main.css и добавляем
[spoil]
[/spoil]
[spoil]Улыбаемся и машем (с) mask
Код:
function prdGetTopProductsInCategory( $categoryID )
{
$categoryID = (int)$categoryID;
$sql = "
SELECT * FROM ?#PRODUCTS_TABLE
WHERE enabled != 0 AND categoryID = ?
ORDER BY items_sold DESC LIMIT 5
";
$q = db_phquery( $sql, $categoryID ) or die(db_error());
$Products = array();
while( $_Product = db_fetch_assoc($q) )
{
LanguagesManager::ml_fillFields(PRODUCTS_TABLE, $_Product);
$_Product['PriceWithUnit'] = show_price($_Product['Price']);
$_Product['list_priceWithUnit'] = show_price($_Product['list_price']);
// you save (value)
$_Product['SavePrice'] = show_price($_Product['list_price']-$_Product['Price']);
// you save (%)
if( $_Product['list_price'] )
{
$_Product['SavePricePercent'] = ceil(((($_Product['list_price']-$_Product['Price'])/$_Product['list_price'])*100));
}
$Products[] = $_Product;
}
_setPictures($Products);
return $Products;
}
2. Открываем /published/SC/html/scripts/includes/category.php
[spoil]ищем
Код:
$smarty->assign( 'subcategories_to_be_shown', catGetSubCategoriesSingleLayer($categoryID));
Код:
$smarty->assign("top_products", prdGetTopProductsInCategory( $categoryID ));
3. Открываем шаблон категорий /published/SC/html/scripts/templates/frontend/category.tpl.html и в нужное место вставляем
[spoil]
Код:
{if $top_products}
<ul class="top-products">
{section name=i loop=$top_products}
<li>
<div class="top-products-name">
<a href='{"?productID=`$top_products[i].productID`&product_slug=`$top_products[i].slug`"|set_query_html}'>{$top_products[i].name}</a>
</div>
<div class="top-products-pict">
{if $top_products[i].picture || $top_products[i].thumbnail}
<a href='{"?productID=`$top_products[i].productID`&product_slug=`$top_products[i].slug`"|set_query_html}'>
<img src="{$smarty.const.URL_PRODUCTS_PICTURES}/{if $top_products[i].thumbnail}{$top_products[i].thumbnail|escape:'url'}{else}{$top_products[i].picture|escape:'url'}{/if}"
border="0" alt="{$top_products[i].name|escape:'html'}" title="{$top_products[i].name|escape:'html'}"></a>
{else}
{/if}
</div>
<div class="top-products-price">{if $top_products[i].Price}{$top_products[i].PriceWithUnit}{/if}</div>
</li>
{/section}
</ul>
{/if}
4. Открываем файл стилей main.css и добавляем
[spoil]
Код:
ul.top-products {
margin: 0;
padding: 0;
list-style: none;
width: 710px;
margin: 0 auto;
}
ul.top-products li {
margin: 0;
padding: 0;
list-style: none;
width: 216px;
min-height: 300px;
_height: 300px;
margin: 0 0 25px 5px;
padding: 2px 5px;
display: -moz-inline-stack;
display: inline-block;
*display: inline;
vertical-align: top;
zoom: 1;
border: 1px solid #ccc;
}
ul.top-products li .top-products-name {
margin: 0;
padding: 0;
text-align: center;
}
ul.top-products li .top-products-name a {
color: #1868ac;
font-weight: bold;
text-decoration: none;
}
ul.top-products li .top-products-name a:hover {
text-decoration: underline;
}
ul.top-products li .top-products-pict {
margin: 0;
padding: 0;
min-height: 130px;
margin-top: 5px;
text-align: center;
}
ul.top-products li .top-products-pict img {
max-width: 210px;
max-height: 130px;
vertical-align: bottom;
border: 0;
-ms-interpolation-mode: bicubic;
}
ul.top-products li .top-products-price {
margin: 0;
padding: 0;
margin: 5px auto 0 auto;
text-align: center;
}
[spoil]Улыбаемся и машем (с) mask