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


Картинки "Новинки" и "Топ продаж" поверх картинок товара


  • Вы не можете ответить в тему
Сообщений в теме: 10

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 11 April 2013 - 11:10 PM

Дополнение позволяет выводить поверх картинок в кратком и полном описании маленькие картинки "Новинка" и "Топ продаж".
Прикрепленный файл  2.JPG   76.88К   206 Количество загрузок:

спонсор дополнения - polockun

картинка "Новинки" : для товаров, у которых дата создания не старее N-дней (N задается в "Общих настройках)
также можно принудительно галочкой присводить товару статус "Новинка".

картинка "Топ продаж" : для товаров, у которых количество продаж (столбец SL в админке) не менее, чем M-раз (M задается в "Общих настройках)
также можно принудительно галочкой присводить товару статус "Топ продаж".

Если товар имеет оба статуса, то выводится третья картинка - "Новинка+Топ".

Также в строке сортировки в категориях, имеющих "новинки" и "топы" будут появляться варианты сортировки "Новинки" и "Топ продаж".

В админке выглядит примерно так:
Прикрепленный файл  1.JPG   20.39К   198 Количество загрузок:
Красным цветом показываются циферки у товаров, попадающих под категорию "новинка" либо "топ". Для возраста товара (колонка Age) для НЕ новинок черным показано сколько дней назад товар добавлен, а для новинок красным - сколько дней еще будет "новинкой", мне так показалось удобнее. Сортировка по этим новым колонкам тоже работает.

Установка:

1. файлы *.png копируем в каталог /data/[шаблон]/


2. в файле conf_setting.php

после строки


} else {


вставляем


# BEGIN New-and-top-products
if(!defined('CONF_PRODUCT_TOP')) db_query("INSERT ".SETTINGS_TABLE." SET
settings_groupID=2,
settings_constant_name='CONF_PRODUCT_TOP',
settings_value='100',
settings_title='Количество продаж, после которых Товар выходит в \"Топ\"',
settings_description='Количество продаж, после которых Товар выходит в \"Топ\" (берется из параметра \"SL\")',
settings_html_function='setting_TEXT_BOX(0,',
sort_order=99");

if(!defined('CONF_PRODUCT_NEW')) db_query("INSERT ".SETTINGS_TABLE." SET
settings_groupID=2,
settings_constant_name='CONF_PRODUCT_NEW',
settings_value='7',
settings_title='Количество дней, пока Товар считается \"Новинкой\"',
settings_description='Количество дней, пока Товар считается \"Новинкой\"',
settings_html_function='setting_TEXT_BOX(0,',
sort_order=99");

$fields =array (
array ('Field' => 'top', 'Type' => 'tinyint(1)', 'Default' => '0'),
array ('Field' => 'new', 'Type' => 'tinyint(1)', 'Default' => '0'));

$data = mysql_query("desc ".PRODUCTS_TABLE);
while ($row[] = mysql_fetch_assoc($data));
foreach ($fields as $field)
{
$flag = true;
foreach ($row as $cur_row) if ($field['Field'] == $cur_row['Field']) {$flag=false; break;}
if ($flag) mysql_query("ALTER TABLE ".PRODUCTS_TABLE." ADD ".$field['Field']." ".$field['Type']." DEFAULT ".$field['Default']);
}
# END New-and-top-products


В принципе, этот код нужен только один раз для создания новых констант конфигурации и добавления новых полей в таблицу товаров,
т.е. после первого же захода в "Общие настройки" этот код можно смело удалить.


3. в файле catalog_products_categories.php

3.1 вместо строк (вместо ПОСЛЕДНЕГО найденного комплекта! их там либо один, либо два)


//save changes in current category
$data = ScanPostVariableWithId( array( "price", "enable", "left", "sort_order" ) );


вставляем


//save changes in current category
# BEGIN New-and-top-products
#$data = ScanPostVariableWithId( array( "price", "enable", "left", "sort_order" ) );
$data = ScanPostVariableWithId( array( "price", "enable", "left", "sort_order", "new", "top" ) );
# END New-and-top-products


3.2 перед ВТОРОЙ (!) найденной строкой


if ( isset($val["enable"]) )


вставляем


# BEGIN New-and-top-products
if ( isset($val["new"]) ) db_query( "update ".PRODUCTS_TABLE." set new=".(int)$val["new"]." WHERE productID=".(int)$key );
if ( isset($val["top"]) ) db_query( "update ".PRODUCTS_TABLE." set top=".(int)$val["top"]." WHERE productID=".(int)$key );
# END New-and-top-products



4. в файле category.php

перед строкой


$smarty->assign( "categoryID", $categoryID);


вставляем


# BEGIN New-and-top-products
$allCat = implode(",",NewTopRecursiveCat($categoryID));
$addon = $category["show_subcategories_products"]?"p.categoryID IN ($allCat) OR cp.categoryID IN ($allCat)":"p.categoryID=$categoryID OR сp.categoryID=$categoryID";
$smarty->assign( "nflag", db_fetch_assoc(db_query("SELECT new FROM ".PRODUCTS_TABLE." AS p LEFT JOIN ".CATEGORIY_PRODUCT_TABLE." AS cp USING (productID) WHERE $addon AND enabled=1 AND (new=1 OR TO_DAYS(NOW())-TO_DAYS(date_added)<=".CONF_PRODUCT_NEW.") LIMIT 1"))?1:0);
$smarty->assign( "tflag", db_fetch_assoc(db_query("SELECT top FROM ".PRODUCTS_TABLE." AS p LEFT JOIN ".CATEGORIY_PRODUCT_TABLE." AS cp USING (productID) WHERE $addon AND enabled=1 AND (top=1 OR items_sold>=".CONF_PRODUCT_TOP.") LIMIT 1"))?1:0);
# END New-and-top-products



5. в файле category_functions.php

в самом конце перед строкой


?>


вставляем


# BEGIN New-and-top-products
function NewTopRecursiveCat($catID,$arrayID=array()) {
$data = db_query("SELECT categoryID FROM ".CATEGORIES_TABLE." WHERE parent=".$catID);
while ($row = db_fetch_assoc($data)) $arrayID = NewTopRecursiveCat($row['categoryID'],$arrayID);
$arrayID[]=$catID;
return $arrayID; }
# END New-and-top-products



6. в файле product_functions.php

6.1 в функции GetProduct

вместо строки


$q = db_query('select * FROM '.PRODUCTS_TABLE.' WHERE productID='.(int)$productID);


вставляем


# BEGIN New-and-top-products
#$q = db_query('select * FROM '.PRODUCTS_TABLE.' WHERE productID='.(int)$productID);
$q = db_query("select *,TO_DAYS(NOW())-TO_DAYS(date_added) AS age FROM ".PRODUCTS_TABLE." WHERE productID=$productID LIMIT 1");
# END New-and-top-products


6.2 в функции prdSearchProductByTemplateAdmin

6.2.1 после строк


$order_by_clause = " order by ".xEscSQL($callBackParam["sort"])." DESC ";
}


вставляем


# BEGIN New-and-top-products
elseif ($callBackParam["sort"] == "top") $order_by_clause = " ORDER BY top DESC,items_sold DESC ";
elseif ($callBackParam["sort"] == "new") $order_by_clause = " ORDER BY new DESC,age ";
elseif ($callBackParam["sort"] == "age") $order_by_clause = " ORDER BY age>".CONF_PRODUCT_NEW.",new DESC,age ";
# END New-and-top-products


6.2.2 вместо строки


" customers_rating, Price, in_stock, ".


вставляем


# BEGIN New-and-top-products
#" customers_rating, Price, in_stock, ".
" customers_rating, Price, in_stock, top, new, TO_DAYS(NOW())-TO_DAYS(date_added) AS age,".
# END New-and-top-products


6.3 в функции prdSearchProductByTemplate

6.3.1 после строк


$order_by_clause = " order by ".xEscSQL($callBackParam["sort"])." DESC ";
}


вставляем


# BEGIN New-and-top-products
elseif ($callBackParam["sort"] == "top") $order_by_clause = " ORDER BY top DESC,items_sold DESC ";
elseif ($callBackParam["sort"] == "new") $order_by_clause = " ORDER BY new DESC,age ";
# END New-and-top-products


6.3.2 вместо строки


" customers_rating, Price, in_stock, ".


вставляем


# BEGIN New-and-top-products
#" customers_rating, Price, in_stock, ".
" customers_rating, Price, in_stock, top, new, TO_DAYS(NOW())-TO_DAYS(date_added) AS age,".
# END New-and-top-products



7. в файле catalog_products_categories.tpl.html

7.1 после строки


<td align="center"><a href='{$urlToSort}&amp;sort=viewed_times&amp;sort_dir=DESC' title="{$smarty.const.ADMIN_ADMIN_MENUNEW10}" class="liv">VT</a></td>


вставляем


{* BEGIN New-and-top-products *}
<td align="center"><a href='{$urlToSort}&amp;sort=new' title="Sort by New+Age" class="liv">New</a></td>
<td align="center"><a href='{$urlToSort}&amp;sort=age' title="Sort by Age+New" class="liv">Age</a></td>
<td align="center"><a href='{$urlToSort}&amp;sort=top' title="Sort by Top+SL" class="liv">Top</a></td>
<script type="text/javascript">
{literal}
function CheckBoxHandlerNew(id){
if ( document.getElementById('checkbo_ennew_' + id).checked )
document.getElementById('new_' + id).value = '1';
else
document.getElementById('new_' + id).value = '0';
}
function CheckBoxHandlerTop(id){
if ( document.getElementById('checkbo_entop_' + id).checked )
document.getElementById('top_' + id).value = '1';
else
document.getElementById('top_' + id).value = '0';
}
{/literal}
</script>
{* END New-and-top-products *}


7.2 вместо строки


<td align="center" {if !$products[i].enabled}class="toph3 gryy"{else}class="toph3"{/if}>{$products[i].items_sold}</td>


вставляем


{* BEGIN New-and-top-products *}
{*<td align="center" {if !$products[i].enabled}class="toph3 gryy"{else}class="toph3"{/if}>{$products[i].items_sold}</td>*}
<td align="center">
<input type="hidden" name="new_{$products[i].productID}" id="new_{$products[i].productID}" {if $products[i].new}value='1'{else}value='0'{/if} >
<input type="checkbox" class="round" name="checkbo_ennew_{$products[i].productID}" id="checkbo_ennew_{$products[i].productID}" {if $products[i].new}checked{/if} onclick='CheckBoxHandlerNew({$products[i].productID})' title="Add to new">
</td>
<td align="center"{if $products[i].age <= $smarty.const.CONF_PRODUCT_NEW} style="color:red">{$smarty.const.CONF_PRODUCT_NEW-$products[i].age}{else}>{$products[i].age}{/if}</td>
<td align="center">
<input type="hidden" name="top_{$products[i].productID}" id="top_{$products[i].productID}" {if $products[i].top}value='1'{else}value='0'{/if} >
<input type="checkbox" class="round" name="checkbo_entop_{$products[i].productID}" id="checkbo_entop_{$products[i].productID}" {if $products[i].top}checked{/if} onclick='CheckBoxHandlerTop({$products[i].productID})' title="Add to top">
</td>
<td align="center" {if !$products[i].enabled}class="toph3 gryy"{else}class="toph3"{/if}{if $products[i].items_sold >= $smarty.const.CONF_PRODUCT_TOP} style="color:red"{/if}>{$products[i].items_sold}</td>
{* END New-and-top-products *}



8. в файле category.tpl.html

вместо строк (таких строк обычно две, в начале страницы и в конце)


<td class="cattop" align="center">{$string_product_sort}</td>


вставляем


{* BEGIN New-and-top-products *}
{*<td class="cattop" align="center">{$string_product_sort}</td>*}
<td class="cattop" align="center">{$string_product_sort}{if $nflag} <a href="index.php?categoryID={$categoryID}&sort=new">(Новинки)</a>{/if}{if $tflag} <a href="index.php?categoryID={$categoryID}&sort=top">(Топ продаж)</a>{/if}</td>
{* END New-and-top-products *}



9. в файле product_brief.tpl.html

вместо строки (в случае картинки справа)


<td class="imboxr"><a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_info.productID}.html{else}index.php?productID={$product_info.productID}{/if}"><img src="data/small/{$product_info.picture}" alt="{$product_info.name}"></a></td>


вставляем


{* BEGIN New-and-top-products *}
{*<td class="imboxr"><a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_info.productID}.html{else}index.php?productID={$product_info.productID}{/if}"><img src="data/small/{$product_info.picture}" alt="{$product_info.name}"></a></td>*}
<td class="imboxr">
{if $product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW OR $product_info.top OR $product_info.items_sold >= $smarty.const.CONF_PRODUCT_TOP}
<div style="position: relative;">
<div style="position: absolute; z-index: 1; top: 0px; left: 0px; background:url('data/{$smarty.const.TPL}/{if ($product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW) AND ($product_info.top OR $product_info.items_sold >= $smarty.const.CONF_PRODUCT_TOP)}label-new-top{elseif $product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW}label_new{else}label-top{/if}.png'); height: 62px; width: 46px;">
<img src="data/{$smarty.const.TPL}/pixel.gif" width="46" height="62">
</div>
<a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_info.productID}.html{else}index.php?productID={$product_info.productID}{/if}">
<img src="data/small/{$product_info.picture}" class="tTip" title="{$product_info.title}" alt="{$product_info.name}">
</a>
</div>
{else}
<a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}product_{$product_info.productID}.html{else}index.php?productID={$product_info.productID}{/if}">
<img src="data/small/{$product_info.picture}" class="tTip" title="{$product_info.title}" alt="{$product_info.name}">
</a>
{/if}
</td>
{* END New-and-top-products *}


для картинки слева инструкция такая же, только вместо "imboxr" везде "imboxl"


10. в файле product_detailed.tpl.html

10.1 после строки


hs.lang.fullExpandTitle = '{$smarty.const.STRING_HS_FULLEXPANDTITLE}';


вставляем


{* BEGIN New-and-top-products *}
hs.headingEval = 'this.thumb.alt';
{* END New-and-top-products *}


10.2 ищем строку сlass="imboxr" (либо "imboxl" для картинки слева) и чуть ниже вместо строки


{if $product_info.big_picture} <a href="data/big/{$product_info.big_picture}" class="highslide" onclick="return hs.expand(this)"><img src="data/medium/{$product_info.thumbnail}" alt="{$product_info.name}" id="{$product_info.big_picture}"></a>{*


вставляем


{* BEGIN New-and-top-products *}
{*{if $product_info.big_picture}<a href="data/big/{$product_info.big_picture}" class="highslide" onclick="return hs.expand(this)"><img src="data/medium/{$product_info.thumbnail}" alt="{$product_info.name}" id="{$product_info.big_picture}"></a>*}
{if $product_info.big_picture}
{if $product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW OR $product_info.top OR $product_info.items_sold >= $smarty.const.CONF_PRODUCT_TOP}
<div style="position: relative;">
<div style="position: absolute; z-index: 1; top: 0px; left: 0px; background:url('data/{$smarty.const.TPL}/{if ($product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW) AND ($product_info.top OR $product_info.items_sold >= $smarty.const.CONF_PRODUCT_TOP)}label-new-top{elseif $product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW}label_new{else}label-top{/if}.png'); height: 62px; width: 46px;">
<img src="data/{$smarty.const.TPL}/pixel.gif" width="46" height="62">
</div>
<a href="data/big/{$product_info.big_picture}" class="highslide" onclick="return hs.expand(this)"><img src="data/medium/{$product_info.thumbnail}" alt="<img src='data/{$smarty.const.TPL}/{if ($product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW) AND ($product_info.top OR $product_info.items_sold >= $smarty.const.CONF_PRODUCT_TOP)}label-new-top{elseif $product_info.new OR $product_info.age <= $smarty.const.CONF_PRODUCT_NEW}label_new{else}label-top{/if}.png'>" id="{$product_info.big_picture}"></a>
</div>
{else}
<a href="data/big/{$product_info.big_picture}" class="highslide" onclick="return hs.expand(this)"><img src="data/medium/{$product_info.thumbnail}" alt="{$product_info.name}" id="{$product_info.big_picture}"></a>
{/if}
{* END New-and-top-products *}{*



Пункты (9) и (10) приведены для дефолтового шаблона. В других шаблонах html-код может (и наверняка будет!) отличаться, так что придется проявить смекалку.

Прикрепленные файлы

  • Прикрепленный файл  label_new.png   2.77К   119 Количество загрузок:
  • Прикрепленный файл  label-new-top.png   5.06К   61 Количество загрузок:
  • Прикрепленный файл  label-top.png   2.65К   47 Количество загрузок:

  • 3
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 ramshaus

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 80 сообщений
Репутация: 15
Начинающий

Отправлено 08 May 2013 - 08:48 AM

Все сделал как написано, но почему то не хочет выставляться принудительно галочкой а админке, в чем может быть причина?
  • 0

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 May 2013 - 10:18 AM

в чем может быть причина?

Как вариант, в невнимательном выполнении пункта 3.2
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 ramshaus

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 80 сообщений
Репутация: 15
Начинающий

Отправлено 08 May 2013 - 10:44 AM

проверил, все правильно после второй строки
if ( isset($val["enable"]) )
теперь у меня вот так выглядит
# BEGIN New-and-top-products
if ( isset($val["new"]) ) db_query( "update ".PRODUCTS_TABLE." set new=".(int)$val["new"]." WHERE productID=".(int)$key );
if ( isset($val["top"]) ) db_query( "update ".PRODUCTS_TABLE." set top=".(int)$val["top"]." WHERE productID=".(int)$key );
# END New-and-top-products
								if ( isset($val["enable"]) )

у меня стоят еще несколько модулей, типа новинки, наподобие спец предложений, не думаю что с ними конфликтует... а вот чекс боксы так и не хотят принудительно оставаться в квадратиках, после сохранения страницы они отключаются (без галочек)...
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 May 2013 - 03:46 PM

Значит таки по какой-то другой причине. Без кофейной гущи понять сложно :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 wowka

    Новичок

  • Assistent vsupport.club
  • Pip
  • 7 сообщений
Репутация: 0
Начинающий

Отправлено 17 May 2014 - 03:21 PM

Позволю себе заметить, что п.7.2 нужно выполнять так:
вместо строки
{$products[i].items_sold}

вставить следующее:
{* BEGIN New-and-top-products *}
{*{$products[i].items_sold}*}

<input type="hidden" name="new_{$products[i].productID}" id="new_{$products[i].productID}" {if="" $products[i].new}value="1" {else}value="0" {="" if}="">
<input type="checkbox" class="round" name="checkbo_ennew_{$products[i].productID}" id="checkbo_ennew_{$products[i].productID}" {if="" $products[i].new}checked{="" if}="" onclick="CheckBoxHandlerNew({$products[i].productID})" title="Add to new">

{$smarty.const.CONF_PRODUCT_NEW-$products[i].age}{else}&gt;{$products[i].age}{/if}

<input type="hidden" name="top_{$products[i].productID}" id="top_{$products[i].productID}" {if="" $products[i].top}value="1" {else}value="0" {="" if}="">
<input type="checkbox" class="round" name="checkbo_entop_{$products[i].productID}" id="checkbo_entop_{$products[i].productID}" {if="" $products[i].top}checked{="" if}="" onclick="CheckBoxHandlerTop({$products[i].productID})" title="Add to top">

= $smarty.const.CONF_PRODUCT_TOP} style="color:red"{/if}&gt;{$products[i].items_sold}
{* END New-and-top-products *}

Иначе дублируется ячейка с кол-вом продаж товара.

Сообщение отредактировал wowka: 17 May 2014 - 03:21 PM

  • 0

#7 egor

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 74 сообщений
Репутация: 0
Начинающий

Отправлено 24 May 2014 - 05:47 PM

Простите, а где находится сам файл conf_setting.php ? Перерыл все папки и файлы, но так и не нашел...
  • 0

#8 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 24 May 2014 - 06:17 PM

Простите, а где находится сам файл conf_setting.php ? Перерыл все папки и файлы, но так и не нашел...

Плохо искал.
/core/includes/admin/sub/
  • 1
502 Bad Gateway

#9 maxruta

    Пользователь

  • Download User
  • PipPip
  • 13 сообщений
Репутация: 0
Начинающий

Отправлено 26 May 2014 - 12:26 PM

И у меня почему-то не получается..все, вроде, сделала, как написано. В админке появились ячейки, а вот картинка никак не хочет появлятся. Где могла проглядеть? Спасибо
  • 0

#10 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 26 May 2014 - 06:39 PM

Позволю себе заметить, что п.7.2 нужно выполнять так: вместо строки

Это тоже неверно. правильно так:
------------------------------------------
7.2 вместо строки


<td align="center" {if !$products[i].enabled}class="toph3 gryy"{else}class="toph3"{/if}>{$products[i].items_sold}</td>


вставляем


{* BEGIN New-and-top-products *}
{*<td align="center" {if !$products[i].enabled}class="toph3 gryy"{else}class="toph3"{/if}>{$products[i].items_sold}</td>*}
<td align="center">
<input type="hidden" name="new_{$products[i].productID}" id="new_{$products[i].productID}" {if $products[i].new}value='1'{else}value='0'{/if} >
<input type="checkbox" class="round" name="checkbo_ennew_{$products[i].productID}" id="checkbo_ennew_{$products[i].productID}" {if $products[i].new}checked{/if} onclick='CheckBoxHandlerNew({$products[i].productID})' title="Add to new">
</td>
<td align="center"{if $products[i].age <= $smarty.const.CONF_PRODUCT_NEW} style="color:red">{$smarty.const.CONF_PRODUCT_NEW-$products[i].age}{else}>{$products[i].age}{/if}</td>
<td align="center">
<input type="hidden" name="top_{$products[i].productID}" id="top_{$products[i].productID}" {if $products[i].top}value='1'{else}value='0'{/if} >
<input type="checkbox" class="round" name="checkbo_entop_{$products[i].productID}" id="checkbo_entop_{$products[i].productID}" {if $products[i].top}checked{/if} onclick='CheckBoxHandlerTop({$products[i].productID})' title="Add to top">
</td>
<td align="center" {if !$products[i].enabled}class="toph3 gryy"{else}class="toph3"{/if}{if $products[i].items_sold >= $smarty.const.CONF_PRODUCT_TOP} style="color:red"{/if}>{$products[i].items_sold}</td>
{* END New-and-top-products *}

  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#11 Lada

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 107 сообщений
Репутация: 7
Начинающий
  • ГородЧита

Отправлено 08 July 2014 - 12:57 PM

Все сработало с последними поправками на ура. Спасибо. Вот хотелось бы еще в блок с Новинками поставить это же, что бы Топ продаж отражалось. В файле newprstatic.tpl.html
  • 0