0 Пользователей и 1 Гость просматривают эту тему.
  • 36 Ответов
  • 12970 Просмотров
*

jewel93

  • Новичок
  • 4
  • 0 / 0
Цены и скидки в VM 2.0
« : 06.01.2012, 02:17:19 »
Подскажите, пожалуйста. Как в VirtueMart 2.0 сделать так, чтобы в случае, если у товара нет скидки, строка со скидкой не отображалась? Как сделать обычную цену зачеркнутой, когда скидка есть?
*

July07

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
Re: Цены и скидки в VM 2.0
« Ответ #1 : 25.04.2012, 09:25:59 »
+1
вопрос актуален
Подскажите, кто как с ним справляется?
*

July07

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
Re: Цены и скидки в VM 2.0
« Ответ #2 : 25.04.2012, 09:57:05 »
Решено.
Чтобы выводилась цена со скидкой только там, где есть скидка и с перечеркнутой исходной ценой необходимо:
/components/com_virtuemart/views/productdetails/tmp/
в файле default.php (примерно строка 410 - где вывод цен идет)
вместо
Код
echo $this->currency->createPriceDiv ( 'priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices );

написать
            
Код
if($this->product->prices[priceWithoutTax] != $this->product->prices[salesPrice])
{
echo '<span style="text-decoration: line-through;">'.$this->currency->createPriceDiv ( 'priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices ).'</span>';
}
*

Sanyaha

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #3 : 26.04.2012, 13:29:38 »
у меня нет в этом файле этой строки которую нужно заменить;
echo $this->currency->createPriceDiv ( 'priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices );
и как быть?
*

July07

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
Re: Цены и скидки в VM 2.0
« Ответ #4 : 26.04.2012, 14:54:52 »
какая версия VM ?
ищите подобную строку : где вывод с параметрами priceWithoutTax или COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX
*

Sanyaha

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #5 : 26.04.2012, 16:05:30 »
не нашло совпадений версия 2.0.2
*

Morozzz...

  • Осваиваюсь на форуме
  • 12
  • 2 / 0
Re: Цены и скидки в VM 2.0
« Ответ #6 : 27.04.2012, 13:04:25 »
у меня нет в этом файле этой строки которую нужно заменить;
echo $this->currency->createPriceDiv ( 'priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices );
и как быть?
эта строка находится в  /components/com_virtuemart/views/productdetails/tmp/default_showprices.php
*

Sanyaha

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #7 : 27.04.2012, 15:17:18 »
Поменал, не появились цены перечеркнутыми((
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Re: Цены и скидки в VM 2.0
« Ответ #8 : 30.04.2012, 00:50:12 »
версия 2.0.6
Магия...
а я поменял и цена стала зачеркнутой, но строка со скидкой не пропала.
Как же от нее избавится? если на товар нет скидки!

и как такое же сделать в модуле вывода товаров?
*

alpha-helix

  • Захожу иногда
  • 78
  • 1 / 0
Re: Цены и скидки в VM 2.0
« Ответ #9 : 04.06.2012, 01:05:11 »
Код
if($product->prices[priceWithoutTax] != $product->prices[salesPrice])
{
echo '<span style="text-decoration: line-through;">'.$this->currency->createPriceDiv ( 'priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices ).'</span>';
}
Это аналогичный код для шаблона категории (\category\default.php)
Отличие в том, что $this->product заменяем на $product
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 724 / 7
  • Все начинается с Value
Re: Цены и скидки в VM 2.0
« Ответ #10 : 04.06.2012, 03:30:16 »
Можно и так
Код: php-brief
if ($product->prices['discountAmount'] > 0){
echo $this->currency->createPriceDiv('priceWithoutTax','COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX',$product->prices);
}
Код: css
.PricepriceWithoutTax {
    background:url("../images/discount.png") no-repeat scroll right top transparent; //картинка для скидок
    height:48px;
    text-decoration:line-through;
}
*

dreamod

  • Захожу иногда
  • 82
  • 2 / 0
Re: Цены и скидки в VM 2.0
« Ответ #11 : 22.06.2012, 16:48:37 »
мой рецепт для вирта 2.0.6
в файле /components/com_virtuemart/views/productdetails/tmpl/default_showprices.php

меняем строчку
Код
echo $this->currency->createPriceDiv('priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices);
на
Код
if($this->product->prices[discountAmount]>0)
{
    echo $this->currency->createPriceDiv('basePrice', 'Старая цена: <span style="text-decoration: line-through;">', $this->product->prices).'</span>';
}
получаем базовую стоимость товара, перечеркнутую и с надписью "старая цена", выводится только тогда, когда скидка больше "0", т.е. когда она есть.
*

12mv

  • Давно я тут
  • 547
  • 20 / 0
  • Гульсина
Re: Цены и скидки в VM 2.0
« Ответ #12 : 27.06.2012, 09:46:47 »
У меня отредактированный код. Что нужно в этом случае сделать?

Код
     if($this->product->prices[salesPrice] != $this->product->prices[priceWithoutTax]) {
    echo $this->currency->createPriceDiv('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices);      
    echo $this->currency->createPriceDiv('priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices);
     } else {
    echo $this->currency->createPriceDiv('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices);      
    echo $this->currency->createPriceDiv('priceWithoutTax', '', '');
     }
*

AngelV

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #13 : 06.07.2012, 15:54:14 »
Странно, но если на товар повесить две категории, и если создать правило Налог(-10%) и привязать на одну из этих котегорий, то Скидка на товар не отображается.
*

nadim

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #14 : 30.08.2012, 10:02:52 »
Подскажите как сделать чтобы на товар в категории вывести строку старая цена в место скидки?
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
Re: Цены и скидки в VM 2.0
« Ответ #15 : 07.11.2012, 20:23:09 »
мой рецепт для VirtueMart 2.0.6
в файле /components/com_virtuemart/views/productdetails/tmpl/default_showprices.php

меняем строчку
Код
echo $this->currency->createPriceDiv('priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices);
на
Код
if($this->product->prices[discountAmount]>0)
{
    echo $this->currency->createPriceDiv('basePrice', 'Старая цена: <span style="text-decoration: line-through;">', $this->product->prices).'</span>';
}
получаем базовую стоимость товара, перечеркнутую и с надписью "старая цена", выводится только тогда, когда скидка больше "0", т.е. когда она есть.
Спасибо за решение, работате 2.12, но только в карточке товара, а вот в категории "старая цена" не выводится, как решить кто подскажет
*

najdera

  • Захожу иногда
  • 71
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #16 : 28.11.2012, 18:29:34 »
У меня для категории работает такой вариант!

Код
        if($product->prices[basePriceWithTax] != $product->prices[salesPrice])
{
echo '<span style="text-decoration: line-through;">'.$this->currency->createPriceDiv ( 'basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices ).'</span>';
}
*

AndrewFar

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #17 : 30.11.2012, 22:39:58 »
У меня версия 2.0.14. Файлик такой есть, который тут предлогают изменить и код такой есть. Всё зделал, как написано. но результат абсолютно нулевой.
В админке в настройках формирования цены указаны все флажки, где есть слово скидка!
В списке товаров указано две цены (бредятина, кто такое придумал?):
цена:100
цена без скидки:100
Объясните, в чем разница? :) Как это исправить, что бы отображалась вместо цена без скидки цена со скидкой?
А в карточке товара:
цена: (пусто)
Цена: 100
Тоже ясен вопрос, что нужно тоже самое, только почему тут первая строка не выводит сумму?
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Цены и скидки в VM 2.0
« Ответ #18 : 01.12.2012, 00:01:15 »
для тех кто делает не как у людей)):

я первый раз в виртуе марте, и даже не понял как эти скидки вообще там работают, поэтому сделал деревянный, но вроде работающий вариант для себя:
В админке вот так:

в default_showprices вот так:
Код
вместо: 

 if ($this->showBasePrice) {

echo $this->currency->createPriceDiv('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $this->product->prices);

echo $this->currency->createPriceDiv('basePriceVariant', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT', $this->product->prices);

    }

пишем:

if ($this->product->prices[basePrice] <= $this->product->prices[salesPrice]) {
     echo $this->currency->createPriceDiv('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $this->product->prices);
} elseif ($this->product->prices[basePrice] != $this->product->prices[salesPrice]) {
echo '<span style="text-decoration: line-through;">'.$this->currency->createPriceDiv('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $this->product->prices).'</span>';
    echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices ); }
в default.php отвечающим за вывод товара в категории вот так:
Код
вместо: 
if ($this->showBasePrice) {
echo $this->currency->createPriceDiv( 'basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices );
echo $this->currency->createPriceDiv( 'basePriceVariant', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT', $product->prices );
}

пишем:
if ($product->prices[basePrice] <= $product->prices[salesPrice]) {
     echo $this->currency->createPriceDiv('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices);
} elseif ($product->prices[basePrice] != $product->prices[salesPrice]) {
echo '<span style="text-decoration: line-through;">'.$this->currency->createPriceDiv('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices).'</span>';
    echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices ); }
и результат получился такой:




Код наверное с ошибкой где-то, т.к. я профан в программировании, это мой первый опыт) может кому-то и пригодится мой вариант

Забыл написать: обязательно в админке должны стоять 2 галки в настройках вывода цены:


и строчки:
Код
echo $this->currency->createPriceDiv( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $product->prices );
удалить
« Последнее редактирование: 01.12.2012, 00:46:21 от marozz1k »
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Re: Цены и скидки в VM 2.0
« Ответ #19 : 02.12.2012, 22:35:42 »
Работает в карточке товара без нареканий.
Но как добиться что бы в стандартном модуле вывода товаров (VM - Featured products), если есть скидка, то выводило цену со скидкой и сумму скидки. А если нет скидки то просто саму цену.
*

lara77775

  • Новичок
  • 6
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #20 : 04.12.2012, 19:23:53 »
да, уважаемый marozz1k ... как в модуле (VM - Featured products)   вывести тоже также цены..
файл \modules\mod_virtuemart_product\tmpl\default.php


я попробовала по аналогии

if ($product->prices['basePrice'] <= $product->prices['salesPrice']) {
       echo $currency->createPriceDiv('basePrice',  $product->prices, FALSE, FALSE, 1.0, TRUE );
} elseif ($product->prices['basePrice'] != $product->prices['salesPrice']) {
echo '<span style="text-decoration: line-through;">'.$currency->createPriceDiv('basePrice',  $product->prices, FALSE, FALSE, 1.0, TRUE ).'</span>';
    echo $currency->createPriceDiv ( 'salesPrice',  $product->prices, FALSE, FALSE, 1.0, TRUE  ); }
   

но что-то не так
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Цены и скидки в VM 2.0
« Ответ #21 : 05.12.2012, 01:29:40 »
блин ребят, у меня во-первых модулей таких нету, во-вторых я случайно по аналогии с автором темы дописал этот код, и то... около часа писал это простое условие :)) поэтому я врядли смогу решить вашу проблему. Возможно кто-то другой поможет.
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Re: Цены и скидки в VM 2.0
« Ответ #22 : 13.12.2012, 16:54:40 »
Кто-то другой, видимо ни кто!  :(

Может все таки, кто не будь, сможет решить это?
Как сделать что бы... в модуле выводило цену скидки (или процент), если такова есть к товару.
Как сделать что бы... в модуле выводило старую цену и новую, если такова есть к товару.

А может кто знает готовое решение? Какой платный модуль? Или готов за оплату взяться сам?
*

albrt

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #23 : 31.12.2012, 14:40:31 »
Есть, как мне кажется неплохой платный модуль (http://www.joomla357.com/professional-joomla-extensions?view=item&id=1)
Можно и отдельную страничку для дисконтных товаров сделать.
*

nemezida32

  • Захожу иногда
  • 50
  • 3 / 0
Re: Цены и скидки в VM 2.0
« Ответ #24 : 01.03.2013, 17:40:55 »
Открываем панель управления - заходим в настройки
Делаем так как указано на картинке


В товаре делаем вот так:



в default.php вот так:
Находится в /components/com_virtuemart/views/category/tmpl/

Код
ВМЕСТО:

 if ($this->showBasePrice) {

echo $this->currency->createPriceDiv('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $this->product->prices);

echo $this->currency->createPriceDiv('basePriceVariant', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT', $this->product->prices);

    }


ПИШЕМ:

if ($product->prices[basePrice] <= $product->prices[salesPrice]) {
   
} elseif ($product->prices[basePrice] != $product->prices[salesPrice]) {
echo '<span style="text-decoration: line-through;">'.$this->currency->createPriceDiv('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices).'</span>';
     }



Унас получится вот так:


Это отображается в категориях. Сделал на основе примерах. Может кому то помогло. Если кто то что то не понял пишите в скайп nemezida32 
^-^
Не судите строго  ;)
*

CyDb6a

  • Захожу иногда
  • 124
  • 0 / 0
  • От меня не уйдешь =)
Re: Цены и скидки в VM 2.0
« Ответ #25 : 12.10.2013, 14:47:38 »
Работает в карточке товара без нареканий.
Но как добиться что бы в стандартном модуле вывода товаров (VM - Featured products), если есть скидка, то выводило цену со скидкой и сумму скидки. А если нет скидки то просто саму цену.
Кто нибудь решил этот вопрос?
*

AHTEPO

  • Захожу иногда
  • 60
  • 5 / 0
Re: Цены и скидки в VM 2.0
« Ответ #26 : 17.12.2013, 20:23:42 »
У меня отредактированный код. Что нужно в этом случае сделать?

Код
     if($this->product->prices[salesPrice] != $this->product->prices[priceWithoutTax]) {
    echo $this->currency->createPriceDiv('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices);       
    echo $this->currency->createPriceDiv('priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices);
     } else {
    echo $this->currency->createPriceDiv('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices);       
    echo $this->currency->createPriceDiv('priceWithoutTax', '', '');
     }

В этом случае правильным будет не prices[priceWithoutTax] в условии в первой строчке, а prices[basePrice], т.е.
Код
if($this->product->prices[salesPrice] != $this->product->prices[basePrice]) {
   echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices );
   echo $this->currency->createPriceDiv ( 'basePrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $this->product->prices );
   echo $this->currency->createPriceDiv ( 'discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $this->product->prices );
} else {
   echo $this->currency->createPriceDiv ( 'salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices);
   echo $this->currency->createPriceDiv ( 'priceWithoutTax', '', '');
}
*

Мари

  • Осваиваюсь на форуме
  • 21
  • 1 / 0
Re: Цены и скидки в VM 2.0
« Ответ #27 : 03.01.2014, 10:05:18 »
В шаблоне, с которым я работаю, есть и зачеркнутая цена, и новая цена со скидкой, и даже изображение на товаре, обозначающее % скидки ...А вот на своем сайте я не могу добиться даже зачеркнутой старой цены и скидки.
Галочки стоят, как в примере, испробовала несколько вариантов с файлами php, результат нулевой...

...Решено... каким-то странным путем
Видимо в шаблоне где-то так устроено, что скидка отображается только тогда, когда в расчете цены задействованы налоги, т.е. ставлю основную цену и цену со скидкой, окончательную цену VM пересчитывает с налогом, и выводит уже ее.
Сделала налог +0
« Последнее редактирование: 03.01.2014, 10:45:36 от Мари »
*

bilaychik

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Цены и скидки в VM 2.0
« Ответ #28 : 04.02.2014, 14:26:22 »
Ребят, у меня проблема. Сделал скидки, они работают, но проблема в том, что когда в категории этот товар - то старая цена. Когда я нажимаю на товар - там уже цена со скидкой.

Где настроить, не подскажете?
Пример. Категория:
http://acuariomalaga.com/index.php/productos/rocas-y-grava/natural

Сам товар из этой категории:
http://acuariomalaga.com/index.php/productos/rocas-y-grava/arena-s-lice-seca-detail

Спасибо
*

Polosat

  • Захожу иногда
  • 202
  • 7 / 0
  • Мечты - это то, из чего сделано будущее
Re: Цены и скидки в VM 2.0
« Ответ #29 : 26.02.2014, 18:59:55 »
Спасибо ребят, скомпилировав разные варианты, получилось! VM 2.0.26d
Делаю без всяких "овверайд" а просто скидка для товара 10%, лезем в Налоги и правила расчета - делаем скидку 10%, выбираем в товаре пункт скидка и в категории оно зачеркивается и выводит 2ю цену если есть скидка, все соседние цены показывает как обычно:

   вот кусок для шаблона категории:
Спойлер
[свернуть]

вот кусок для карточки товара

Спойлер
[свернуть]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Удалить сложение основной цены и цены дополнительного поля [Решено]

Автор Eholov

Ответов: 2
Просмотров: 580
Последний ответ 22.01.2020, 10:17:36
от Eholov
VirtueMart b facebookpixel формат цены

Автор Dolphin4ik_1

Ответов: 0
Просмотров: 234
Последний ответ 18.06.2019, 17:33:51
от Dolphin4ik_1
Есть ли способ вывести цены двух групп покупателей сразу?

Автор Socrat

Ответов: 0
Просмотров: 216
Последний ответ 20.03.2019, 08:57:28
от Socrat
Как срыть товары без цены?

Автор danem

Ответов: 0
Просмотров: 282
Последний ответ 14.12.2018, 17:15:38
от danem
А как можно установить 3 цены на одн товар в одной карточке?

Автор vovchikku

Ответов: 5
Просмотров: 560
Последний ответ 28.06.2018, 15:58:34
от Akeksandr