Помогите вывести в спецпредложения старую цену!

Статус
В этой теме нельзя размещать новые ответы.

alex79a

Создатель
Регистрация
30 Сен 2008
Сообщения
26
Реакции
1
Подскажите пожалуйста, как можно вывести в спецпредложениях на главной странице отображение рядом с основной ценой, зачеркнутую старую цену.
Также как в описании товара, там зачеркнутая старая цена есть, она рядом с новой пишется, а мне нужно чтобы эта же инфа выводилась в спецпредложении на главной.

Я тут пытался сам разобраться нашел два файла, где ковырять, как мне кажется.
Вот эти файлы:

product_detailed.tpl

home.tpl

Поковырял я их, но ничего что то не получилось.

Может кто сталкивался с такой задачей, если не трудно напишите как сделать, ОЧЕНЬ НУЖНО!
 
Неужели никто не знает как вывести на главной странице в спецпредложениях отображение старой цены перечеркнутой?
Я уже два дня бьюсь над этой проблемой, очень нужно сделать вывод старой цены.

Подскажите пожалуйста, вопрос ведь не очень сложный, как мне кажется. Наверняка многие решали похожую проблему!
 
RE:

В шаблоне product_detailed.tpl есть такой код:
PHP:
						{if $currencies_count ne 0 && $product_info.Price > 0}
							{* show list price? *}
							{if $product_info.list_price > 0 && 
									$product_info.list_price > $product_info.Price && 
									$product_info.Price > 0} 
								{$smarty.const.LIST_PRICE}: 
								<font color=brown>
									<strike>{$product_info.list_priceWithUnit}</strike>								</font>
								<br>
							{/if}
он отвечает за формирование поля "Старая цена".
Посмотри формирование переменных в product_detailed.php. Сделай похожее с учетом синтаксиса в home.php (оба файла лежат в includes) и добавь новые данные в home.tpl.html

Готового кода у меня нет. Сделать не сложно, но времени сейчас маловато.
 
В шаблоне product_detailed.tpl есть такой код:
PHP:
						{if $currencies_count ne 0 && $product_info.Price > 0}
							{* show list price? *}
							{if $product_info.list_price > 0 && 
									$product_info.list_price > $product_info.Price && 
									$product_info.Price > 0} 
								{$smarty.const.LIST_PRICE}: 
								<font color=brown>
									<strike>{$product_info.list_priceWithUnit}</strike>								</font>
								<br>
							{/if}
он отвечает за формирование поля "Старая цена".
Посмотри формирование переменных в product_detailed.php. Сделай похожее с учетом синтаксиса в home.php (оба файла лежат в includes) и добавь новые данные в home.tpl.html

Готового кода у меня нет. Сделать не сложно, но времени сейчас маловато.

Zolinger спасибо за помощь, но что то я поискал этот код и, к сожалению, не нашел.
Я не очень силен в PHP поэтому прошу, может быть кто поможет с кодом и выложит готовый если есть, чтобы скопировать и вставить сразу в нужное место, ведь наверняка поменять пару строчек.
 
Может кто нибудь поможет и выложит подправленный код для вывода старой цены в спецпредложениях... Ну очень нужно.
А то чета не могу разобраться...
 
решение

Если кому-то еще понадобится...

Изменения в в файлах home.tpl.html и home.php

home.php
строка 40.
вместо:
PHP:
$q1 = db_query("SELECT productID, name, default_picture, Price, categoryID FROM ".
					PRODUCTS_TABLE.
					" where productID=$row[0]") or die (db_error());
вот это:
PHP:
$q1 = db_query("SELECT productID, name, default_picture, Price, categoryID, list_price FROM ".
					PRODUCTS_TABLE.
					" where productID=$row[0]") or die (db_error());

строка 54. вместо:
PHP:
					$row1[2] = $picture_row[0];
					$row1[3] = show_price($row1[3]);
					$result[] = $row1;
вот это:
PHP:
					$row1[2] = $picture_row[0];
					$row1[3] = show_price( $row1["Price"] );
					$row1[4] = show_price( $row1["list_price"] );
					$row1[5] = show_price( $row1["list_price"]-$row1["Price"] );
					if ( $row1["list_price"] ) {
						$row1[6] = ceil(((($row1["list_price"]-$row1["Price"])/$row1["Price"])*100));
					}
					$row1[7] = (int)$row1["Price"];
					$row1[8] = (int)$row1["list_price"];
					$result[] = $row1;

home.tpl.html

Специальные предложения в стандартном шаблоне оформлены в виде таблицы.
Нужно добавить этот код туда, где Вам хотелось бы видеть информацию о скидке,
например под ценой:
PHP:
   <!-- Start Old price -->

   {if $special_offers[i][8]>0 && $special_offers[i][8]>$special_offers[i][7] && $special_offers[i][7]>0}<br>
   <font color="brown"><strike>{$special_offers[i][4]}</strike></font><br>
   {$smarty.const.YOU_SAVE}: <font color=brown> {$special_offers[i][5]} ({$special_offers[i][6]}%)
   {/if}

   <!-- End Old Price -->
 
Zolinger
Огромное спасибо за помощь!:)
Почему-то при загрузке страницы сайта выскакивает ошибка
Warning: Division by zero in /home/.../includes/home.php on line 58

Еще я заметил, что почему то часть товаров выводятся нормально в спецпредложения вместе со старой ценой, а часть ну никак не хотят в спецпредложении на главной выводить старую цену.
Но если кликнуть на товар, то в разделе магазина, где находится этот товар старая цена присутствует.

Я уже все описания в админке перерыл, думал, что может там чего, но ничего не нашел.
Непонятно, почему одни товары нормально выводятся на главной со старой ценой, а другие нет, что с ними ни делай...
Не знаете, в чем может быть причина?
 
охота на косЯки...

Угу. Глюки найдены и устранены.
 
Можно поделиться решением устранения глюков?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху