модуль самых продаваемых товаров shop script

  • Автор темы elen888
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
Название, потом картинку с описанием а в самом низу цену и сколько раз купили?
Ну не совсем так.

Это переменные. В них — значения. А уже как ты этими значениями будешь оперировать — ты решаешь сам (специально же назначил чтобы в Смарти использовать. Там проще оформлять вывод.).

Ну вот смотри. У тебя переменая {$topProduct.productID} (кстати, зря ты ее убрал). Это ID товара. Он используется в ссылках на товар. Ссылки то в ShopScripte на товар такие: Для просмотра ссылки Войди или Зарегистрируйся

Т.е. в {$topProduct.productID} будет лежать 93

А чтобы сделать ссылку на товар то ты в шаблоне пишешь:
<a href="http://www.siteurl.ru/index.php?productID={$topProduct.productID}">Это ссылка на товар {$topProduct.name} который был куплен {$topProduct.t2} раз</a>
И у тебя уже на сайте выведется так:
Для просмотра ссылки Войди или Зарегистрируйся
...
p.s. Документация по Smarty тут: Для просмотра ссылки Войди или Зарегистрируйся
 
Ну не совсем так.

Это переменные. В них — значения. А уже как ты этими значениями будешь оперировать — ты решаешь сам (специально же назначил чтобы в Смарти использовать. Там проще оформлять вывод.).

Ну вот смотри. У тебя переменая {$topProduct.productID} (кстати, зря ты ее убрал). Это ID товара. Он используется в ссылках на товар. Ссылки то в ShopScripte на товар такие: Для просмотра ссылки Войди или Зарегистрируйся

Т.е. в {$topProduct.productID} будет лежать 93

А чтобы сделать ссылку на товар то ты в шаблоне пишешь:
<a href="http://www.siteurl.ru/index.php?productID={$topProduct.productID}">Это ссылка на товар {$topProduct.name} который был куплен {$topProduct.t2} раз</a>
И у тебя уже на сайте выведется так:
Для просмотра ссылки Войди или Зарегистрируйся
...
p.s. Документация по Smarty тут: Для просмотра ссылки Войди или Зарегистрируйся




A vot kak sdelat, 4tobi malinkaia fotka toge bila.
Spasibo.
 
A vot kak sdelat, 4tobi malinkaia fotka toge bila.
Spasibo.
просто, добавь в index.tpl.html среди прочих строк, отвечающих за вывод названия, цены и прочего:
{$topProduct.default_picture}<br />

...
p.s. Тока в запросе надо будет SS_ordered_carts и SS_products поменять на свои.

поменять на свои...? поясните, а где посмотреть "свои"?
 
поменять на свои...? поясните, а где посмотреть "свои"?
Префикс таблиц поменять на свои.
Вообще, в качестве безопасности префиксы таблиц лучше давать не стандартные.
 
просто, добавь в index.tpl.html среди прочих строк, отвечающих за вывод названия, цены и прочего:
{$topProduct.default_picture}<br />



поменять на свои...? поясните, а где посмотреть "свои"?

Сделал как ты сказал.
добавил страку {$topProduct.default_picture}<br />
но почему то фотка так и не показывает.
Мистика какая то?
:nezn:
 
:confused:
только что попробовал вставить этот "модуль", а именно:
в index.php
Код:
$q = db_query("SELECT t1.productID, t1.default_picture, t1.name, t1.brief_description, t1.Price, COUNT(t1.name) as 

t2 FROM `SS_products` AS t1 LEFT JOIN `SS_ordered_carts` AS t3 ON t3.`name` = t1.`name` WHERE t3.`name` > '0' AND 

t1.`enabled` = '1' GROUP BY t1.`name` ORDER BY t2 DESC LIMIT 4") or die (db_error());
$topProduct = array();
while ($row = db_fetch_row($q))
{$topProduct[] = $row;}
$smarty->assign("topProduct", $topProduct);

а в index.tpl.html
Код:
{foreach from=$topProduct item=topProduct}<a href="index.php?productID={$topProduct.productID}">
{$topProduct.default_picture}<br />
{$topProduct.name}<br />
{$topProduct.Price}.00 рублей<br /><br /> </a>
{/foreach}

Все выводит в виде ссылки на товар: Название товара, цену...
а почему картинку нет, не понимаю...?:bc:
 
А у кого-нибудь он действительно, нормально работает?
Я например сейчас взял и купил у себя в магазе 9999 штук одного наименования товара, потом зашел в админку, как положено сменил статус заказа на "выполнено".
Теоретически после этих манипуляций модуль "топ продаж" должен вывести то наименование, которого я только что купил (9999 штук), а этого не происходит :confused:
В админке посмотрел отчет по проданным товарам - там все окей, продано 9999 штук, а в топе висит какая-то хрень, которая покупалась всего-то 8 раз.
До этого не использовал, но тут ради интереса вставил {$topProduct.t2} - как заявлено в восьмом посте этого топика, эта фигня отвечает за вывод числа проданного товара, оказалось что выводимые цифры не соответствуют данным продаж в админке.

Полез в таблицы, там все в общем-то понятно, теперь не могу понять что исправить надо здесь
Код:
$q = db_query("SELECT t1.default_picture, t1.productID, t1.name, t1.brief_description, t1.Price, COUNT(t1.name) as 
t2 FROM `SS_products` AS t1 LEFT JOIN `SS_ordered_carts` AS t3 ON t3.`name` = t1.`name` WHERE t3.`name` > '0' AND 
t1.`enabled` = '1' GROUP BY t1.`name` ORDER BY t2 DESC LIMIT 5") or die (db_error());
$topProduct = array();
while ($row = db_fetch_row($q))
{$topProduct[] = $row;}
$smarty->assign("topProduct", $topProduct);

Не знаю конечно, может у меня таблицы БД другие :D ,
не все вобщем-то правильно, переписывать этот кусок надо.

чтобы показывалась картинка: надо полученое из поля default_picture значение взять и используя значение вытаскивать имя рисунка указаное в `SS_product_pictures`
имена рисунков лежат в поле filename

Чтобы выдавало правильные позиции в "топ продаж" - нужно вытаскивать из `SS_products` значение поля items_sold , именно в этом поле показывается количество проданного товара.

а накой нужно было обращаться к `SS_ordered_carts` я что-то вообще не понял.

Переписать как нужно не смогу, не понимаю я синтаксиса команд, я даже не догоняю как сортировку по результатам значения items_sold из `SS_products` организовать
 
Мне очень приятно вести тут монолог с самим собою :D
короче, вот, работающий вариант:
это в index.php
Код:
$q = db_query("SELECT t1.items_sold, t1.productID, t1.name, t1.brief_description, t1.Price, COUNT(t1.items_sold) as 
t2 FROM `SS_products` AS t1 LEFT JOIN `SS_ordered_carts` AS t3 ON t3.`name` = t1.`name` WHERE t1.`name` > '0' AND 
t1.`enabled` = '1' GROUP BY t1.`name` ORDER BY t1.items_sold DESC LIMIT 5") or die (db_error());
$topProduct = array();
while ($row = db_fetch_row($q))
{$topProduct[] = $row;}
$smarty->assign("topProduct", $topProduct);
а это вставляйте туда, где хотите его видеть (я слепил это в отдельный файл и оттуда инклюдом его подцепляю в home.tpl.html , мне так удобнее)
Код:
{foreach from=$topProduct item=topProduct}
Название: {$topProduct.name}<br />
ИД товара: {$topProduct.productID}<br />
Описание: {$topProduct.description}<br />
Цена: {$topProduct.Price}<br />
Сколько раз был куплен: {$topProduct.items_sold}<br /><br />
{/foreach}
это все точно пашет правильно, так и не понял зачем в предидущем варианте было обращение к SS_ordered_carts
а картинку прикрутить у меня мозга не хватает
 
  • Заблокирован
  • #19
Выложи скрин как это выглядит в целом.
 
Выложи скрин как это выглядит в целом.
скрин чего именно? скрин того как новости у мены выведены? или чего? смотри личку.
создал файлик, назвал его top_sales.tpl.html (вот нравиться мне так :D )
вот как выглядит у меня его содержимое:
HTML:
{foreach from=$topProduct item=topProduct}
												<!--- {$topProduct.default_picture} --> 
            <table width="100%" border="0" cellspacing="0" cellpadding="3">
                <tr>
                  <td width="100%" class="menu" valign="top" bgcolor="#D2E7FF" colspan="2">
					<a href="index.php?productID={$topProduct.productID}">{$topProduct.name}</td>
                </tr>
                <tr>
                  <td colspan="2" class="voting2" align="left" valign="top" bgcolor="#EAF0F5">
					{$topProduct.brief_description}</a></td>
                </tr>
                <tr>
                  <td width="50%" class="voting2" bgcolor="#FBCEC7">
					<!---{$topProduct.items_sold}</td> ---> <!---  эту строку закомментировал, она отвечает за вывод количества продаж --->
                  <td width="50%" class="voting" bgcolor="#FBCEC7" align="right" valign="bottom">{$topProduct.Price}.00 рублей</td>
                </tr>
				<br />
              </table>
Бросил его в папку с используемым шаблоном.
примечание: обратите внимание, в вышеприведенном файле я использую классы которых у вас скорее всего нет, так что или создайте себе такие же или замените на свои
Вывожу этот файл в home.tpl.html ниже спецпредложения, то есть топ продаж вывожу только на главной странице, а больше он мне нигде и не нужен.
Прикручивается размещением в нужном вам месте при помощи:
HTML:
{include file=top_sales.tpl.html}

"разжевал" вроде все, надеюсь все понятно
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху