[ОТВЕТИТЬ]
12.05.2014 03:07
aldemko
 
Доброго времени суток.
Хотел спросить может вы знаете, как можно сделать следующее:
Есть например 1000 едениц товара.
Есть цена 100р за штуку.
Каким образом стандартным, или запросом в базу можно сделать исходя из цены 100р за штуку накрутку на весь товар в обьеме 30% а новую цену сделать 100р.
Будет выглядеть что товар стоил 130р а сейчас стоит 100р.
Клиент будет думать что скидки )) а скидок то по факту и нет.
заранее спасибо за помощь
12.05.2014 09:24
OlegON
 
Не очень понял задачу, наверное, но что мешает просто отображать вторую (старую или как угодно ее назовите) цену на 30% больше?
12.05.2014 10:10
aldemko
 
извиняюсь за неясность вопроса.
то что можно поставить старую цену на 30% это понятно, вот только как ?
по одной позиции проблем нет, а там их тысяча, и у каждого есть еще торговое предложение по 5-8 штук итого минимум 5 000 товаров с ценами.
в ручную очень долго.
возможно можно ка то через запрос в бд
мол ячейка такая то равна ячейке такой то но умножить на 30%
12.05.2014 13:21
OlegON
 
Нет-нет, я говорю о правке шаблона вывода. Зачем что-то в базе менять?
12.05.2014 13:44
Exact
 
Собсна тут вот все и описано к какой таблице и какой запрос надо будет выполнить
13.05.2014 02:25
aldemko
 
Спасибо. на сайт разработчика зашел. буду смотреть что и где

А что имелось в виду под правкой шаблона
13.05.2014 14:48
Exact
 
Цитата:
aldemko Спасибо. на сайт разработчика зашел. буду смотреть что и где

А что имелось в виду под правкой шаблона
Можно в шаблоне вывода карточки товара сделать формулу, чтобы она делала запрос и выводила его уже в нужной форме, ничего не изменяя в БД интернет-магазина, я бы наверное пошел путем купонов, сделая цену несколько выше, а засчет купонов можно поднять проходимость аудитории.
19.05.2014 15:29
aldemko
 
К сожалению немного не то
Интересует именно психологический подход мол скидка, типа старая цена зачеркнута, а новая со скидкой
а если у меня цена 1000р за еденицу, плюс скидка купона получится например 800р
а нужно на оборот, что бы якобы старая цена 1300 а новая цена 1000 пока решения не нашел, даже на форуме битриксоидов
19.05.2014 15:55
KirillHome
 
В чём проблема то?
1) Нужно нарисовать на форме отображения товара ещё одно поле: "Старая цена"?
2) Поле уже нарисовано, нужно заполнить его?
3) Поле уже нарисовано, заполнено, по - нужно отобразить его зачёркнутым?
20.05.2014 02:43
aldemko
 
Доброго времени суток
Поле нарисовано, нужно каким то образом заполнить поле старая цена = новая цена * 30% например
с одним товаром понятно.
с 10 товарами тоже
а их тысяча и у каждого сове торговое предложение
20.05.2014 11:00
Exact
 
Нужно создать класс в шаблоне например '.oldprice' и внутри шаблона его соотвественно оформить .oldprice {
text-decoration: line-through;
}
И потом в html можно будет сразу класс вписывать
<span class="oldprice">чего надо зачеркнуть используя CSS</span>
Честно сказать не пользовался битрикс. Но Html всегда html.
20.05.2014 12:00
KirillHome
 
В документации описан вывод цен, даже с примером.

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"])>|| $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
aldemko
 
Спасибо за столь подробное обьяснение.
Но вывод старая цена у меня есть
его нужно заполнить цифрой.
Вручную такое кол-во товаров заполнять это очень долго, ну прям очень долго
Я не могу никак сформулировать запрос в бд
что бы бд отобрал ячейку цена, умножил данные на грубо гоовря 30% и значение положил в ячейку старая цена.
21.05.2014 07:22
OlegON
 
Опять не туда понесло :) Кто-то вручную веб-странички там заполняет?
Суть происходящего в примере выше:
Есть цена $res, есть коэффициент ее умножения $PriceK. В данном случае 1.3.
Когда пользователю пишется каждая строка с товаром, ему отображается $res и рядом эта же $res увеличивается на 1.3, повторю, для каждого товара. Правим в одном месте этого повторяющегося шаблона и получаем виртуальную старую цену. Для понимания, что подсказать дальше, объясни, чем этот вариант не устраивает.
21.05.2014 09:52
KirillHome
 
Цитата:
aldemko Я не могу никак сформулировать запрос в бд
что бы бд отобрал ячейку цена, умножил данные на грубо гоовря 30% и значение положил в ячейку старая цена.
Запрос к базе данных для вывода поля "Цена" есть?
Думаю, что есть :)
Соответственно, для вывода поля "Старая цена" - используем его же, и используем нужный коэффициент.
21.05.2014 10:06
KirillHome
 
Я, кажется понял :)

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

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


Часовой пояс GMT +3, время: 01:56.

 

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