Дополнительное поле в адмике (цена*курс)

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

v-i-k

Создатель
Регистрация
9 Май 2008
Сообщения
48
Реакции
0
Нужна помощь... :bc:

В админке, в каталоге товаров, там где отображаются списком товары...
Вкл. | Код | Наименование | Рейтинг | Цена, у.е. | На складе |и т.д.

нуна добавить еще одну колонку "Цена в руб."
т.е. "Цена, у.е." умноженная на курс.

шаблон catalog_products_categories.tpl.html

Цена в у.е сидит тут {$products.Price}
а где зарыта цена*курс ? {$products.???????}
 
сделал по аналогии

{$products.Price} - цена в у.е

поковырялся в функциях и шаблонах, вроде как show_price выводит цену * курс = руб

подставил
{$products.show_price}

нифига :(

:bc::bc::bc:
 
Народ, ну помогите плизззз!!
или хоть подскажите че-нить полезное.
 
значит...вот... посмотрел профессию репортер по НТВ...там сказали, что если будем пить воду из под крана и вообще. То все сдохнем... выпил водички и решил сделать хорошее дело напоследок...:D:D:yahoo::yahoo:

нам нужны 2 файла:

1) includes/admin/sub/catalog_products_categories.php
2) templates/backend/catalog_products_categories.tpl.html делаем копию на всякий...

Итак:

1) Заходим в catalog_products_categories.php идем в самый низ. Там перед ?> ставим этот код
PHP:
		// устанавливаем валюту на которую будем умножать	
		$q = db_query("SELECT currency_value FROM ".CURRENCY_TYPES_TABLE." WHERE CID=3") or die (db_error());
		$rowl=db_fetch_row($q);
		$smarty->assign('val',$rowl[0]);
что б узнать какую цифру надо ставить в CID= нужно зайти в SS_currency_types в вашей базе и там зайти в Обзор
там найди поле CID, и посмотреть какой номер у валюты, которую надо умножать на цену. Закрываем, сохраняем!

2) Заходим в catalog_products_categories.tpl.html там находим
PHP:
<tr>
							<td>
								<a href='{$urlToSort}&sort=Price&sort_dir=DESC'>
									<img SRC="./images/backend/arrow_down.gif" border=0>								</a>							</td>
						</tr>
					</table>				</td>
после, ставим
PHP:
<td>Цена на курс</td>
далее находим
PHP:
<td align=right>
					<input type=text name=price_{$products[i].productID} 
						size=5 
						value={$products[i].Price}>				</td>
после, ставим
PHP:
<td align=right>{$products[i].Price*$val}</td>

Усе..... Жмем кнопку Спасибо и помним хотя б неделю о хорошем деле....:ay::ah:
 
Благодарю мастера!
Всё работает.
 
а вот как бы теперь эту цену вывести не только в админке но и на сайте,т.е возле цены в у.е товара(например 150 у.е (1500 грн.)
 
и чтобы еще в зависимости от выбраной валюты они менялись местами...:ah:
 
что б узнать какую цифру надо ставить в CID= нужно зайти в SS_currency_types в вашей базе и там зайти в Обзор
там найди поле CID, и посмотреть какой номер у валюты, которую надо умножать на цену.
имхо, править код в зависимости от содержания базы - неправильно - это потенциальный источник ошибок в будущем

могу ошибаться в случае, приведенным ТС, но у.е. - это те цены, в которых закачиваются цены. Курсы остальных валют - вычисляются. При таком раскладе проблемы с пересчетом курсов нивиллируются, в крайнем случае (изменение курса базовой валюты и, соответственно, всех цен, можно пересчитать все цены из phpmyadmina sql-запросом)
 
to scem

Не согласен с вашей формулировкой относительно нивелирования решения, данный аспект можно рассматривать с разных ракурсов и мое мнение не может быть трансцендентальным. И очевидно, что все вышесказанное пpоливает свет на теоpию предикативных ощущений сyбьекта, абсолютно нефункциональных в условиях абстрактного хаоса.

Что касается потенциального источника ошибок в будущем, то совершение оных может стать только следствием некорректных действий оператора электронно вычислительной машины, остальные же абстрактные размышления по данному вопросу считаю нецелесообразными, ввиду отсутствия предложения Вами альтернативного решения столь элементарного вопроса, за сим считаю мое решение единственно правильным и простым для применения в практических целях.
 
to scem
только следствием некорректных действий оператора
CID не характериует валюту однозначно - через год, когда все операторы забудут, что валюта номер N имеет особые свойства, ошибки могут (и скорее всего будут) возникать. Про дополнительные доработки (другим программистом) даже не обсуждаем...
Решением проблемы может быть заведение дополнительной таблицы (переменной для упрощения), содержащей информацию об особенности какой-либо валюты, а также доработка conf_payment.php для информирования оператора об этой(их) особенности(ях)

Добавлено через 18 минут
пс. более корректное решение проблемы, поставленной ТС, на мой взгляд, приведено в первом моем посте, иначе мне искренне неясна его (ТС) цель...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху