Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Программирование

1с Битрикс интернет магазин старая цена и новая цена : Программирование

03.12.2024 20:37


20.05.2014 11:00
Нужно создать класс в шаблоне например '.oldprice' и внутри шаблона его соотвественно оформить .oldprice {
text-decoration: line-through;
}
И потом в html можно будет сразу класс вписывать
<span class="oldprice">чего надо зачеркнуть используя CSS</span>
Честно сказать не пользовался битрикс. Но Html всегда html.
20.05.2014 12:00
вывод цен, даже с примером.

SQL код:
<?
// Вывод цены типа $TYPE_ID для товара $PRODUCT_ID
$arProduct = GetCatalogProduct($PRODUCT_ID);
if ($res = GetCatalogProductPrice($PRODUCT_ID, $TYPE_ID))
{
  if ($res["CAN_ACCESS"]=="Y")
  {
    echo FormatCurrency($res["PRICE"], $res["CURRENCY"]);
    echo " (цена типа ".$res["CATALOG_GROUP_NAME"].") ";
    // Если данному посетителю товар $PRODUCT_ID доступен 
    // для покупки по цене типа $TYPE_ID и либо товар ещё
    // есть, либо его количество не отслеживается, то
    // можно вывести приглашение к покупке
    if ($res["CAN_BUY"]=="Y" && (IntVal($arProduct["QUANTITY"])>0 || $arProduct["QUANTITY_TRACE"]!="Y"))
    {
      echo "Можно купить";
    }
  }
}
?>
На мой взгляд, на основании этого можно при выводе новой цены вывести "старую"
SQL код:
    $PriceK = 1.3;
    echo FormatCurrency($res["PRICE"], $res["CURRENCY"]);
    echo " (цена типа ".$res["CATALOG_GROUP_NAME"].") ";
    echo FormatCurrency($PriceK*$res["PRICE"], $res["CURRENCY"]);
    echo " (цена типа 'старая') "; 
21.05.2014 06:14
Спасибо за столь подробное обьяснение.
Но вывод старая цена у меня есть
его нужно заполнить цифрой.
Вручную такое кол-во товаров заполнять это очень долго, ну прям очень долго
Я не могу никак сформулировать запрос в бд
что бы бд отобрал ячейку цена, умножил данные на грубо гоовря 30% и значение положил в ячейку старая цена.
21.05.2014 07:22
Опять не туда понесло :) Кто-то вручную веб-странички там заполняет?
Суть происходящего в примере выше:
Есть цена $res, есть коэффициент ее умножения $PriceK. В данном случае 1.3.
Когда пользователю пишется каждая строка с товаром, ему отображается $res и рядом эта же $res увеличивается на 1.3, повторю, для каждого товара. Правим в одном месте этого повторяющегося шаблона и получаем виртуальную старую цену. Для понимания, что подсказать дальше, объясни, чем этот вариант не устраивает.
21.05.2014 09:52
Цитата:
aldemko Я не могу никак сформулировать запрос в бд
что бы бд отобрал ячейку цена, умножил данные на грубо гоовря 30% и значение положил в ячейку старая цена.
Запрос к базе данных для вывода поля "Цена" есть?
Думаю, что есть :)
Соответственно, для вывода поля "Старая цена" - используем его же, и используем нужный коэффициент.
21.05.2014 10:06
Я, кажется понял :)

Мы все, кроме aldemko, говорим об отображении информации о старой цене.
А aldemko говорит о том, что хочет сохранить старую цену в базе.
И ему нужно что-то вроде
Код:
Selet * из Товары
Для каждого Товар из Товары
    Товар.ЦенаСтарая = Товар.Цена*1.3
Конец
Так?
21.05.2014 10:14
Я понял, что ему как раз наоборот, он хочет update сделать и поменять старую цену, а скидочная цена уже и так выводится.
21.05.2014 17:20
Тогда ещё раз задаём вопрос - чего хочется?

Варианты:
1) У всех товаров в базе проставить "старую цену" (равную продажной, умноженной на какой то коэффициент)? (и только потом переходить к задаче отображения этой "старой цены" в нужных местах)
2) Просто отображать "старую цену" в каких-либо экранных формах, документах - подставляя в нужные поля на форме значение, равное продажной цене, умноженной на какой то коэффициент? (не заполняя её в базе)
Часовой пояс GMT +3, время: 20:37.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.