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

najdera

  • Захожу иногда
  • 71
  • 0 / 0
Замучилась искать!

Мне нужно, чтобы цена менялась в зависимости от общей суммы заказа.
Например, заказал клиент на 20 долларов и меньше - скидка 20% на все, что есть в корзине, на больше чем 20 долларов - скидка 40%

Нашла данную тему, но она для VirtueMart 1.1
http://joomlaforum.ru/index.php/topic,216059.0.html
*

najdera

  • Захожу иногда
  • 71
  • 0 / 0
Еще читала упоминания, что это можно сделать через привязку к группам пользователей. Вроде создаешь несколько групп с разными скидками, а потом в зависимости от суммы заказа присваиваешь покупателю эту группу.

Но как именно это делать не пойму. Кроме того встает вопрос как сделать это, чтобы группа присваивалась пользователю, а потом после покупки пользователь снова переходил в стандартную. Потому как, если это не сделать, то следующая покупка (не зависимо от цены) будет считаться с большей скидкой...
*

najdera

  • Захожу иногда
  • 71
  • 0 / 0
Нашла бесплатную версию AwoCoupon и триггер к ней, чтобы автоматом загружать купон. Версия конечно очень урезанная, но для моих целей пока подходит...

Но не могу понять каким образом она делает скидки!
 crazy!

[вложение удалено Администратором]
*

najdera

  • Захожу иногда
  • 71
  • 0 / 0
Вопрос еще актуален!

Может кто может посоветовать платное решение?
*

dstavropolskij

  • Захожу иногда
  • 106
  • 10 / 0
Для jomshopping был на форуме подобный плагин, а вам наверное проще для вм заказать отдельно в комразделе.
*

iflowers

  • Новичок
  • 4
  • 0 / 0
Добрый день! Я делаю через способы оплаты, в конфигурации задаю параметры минимального заказа и в строчке процент от общей суммы ставлю например (-10), и когда покупатель выбирает данную оплату, да еще и делает заказ например от 1000, то при оформлении будет светиться -(сумма). И от общего заказа отнимется 10%.
*

lopata12

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
это все хорошо если скидка одна, а если их 5 или 8...
*

eug717

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Тоже искал как сделать, вот тема http://joomlaforum.ru/index.php/topic,256761.0.html, сделал только показ скидки в корзине, в модуле корзины не показывает, но есть плагин, там в теме есть ссылка на него.
*

lopata12

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
копался в инете, нашел как сделать скидку в зависимости от стоимости заказа! количество скидок не ограничено.
Первоисточник, спасибо ему, больше не нашел нигде: http://team.in.ua/joomla/joomla-25-virtuemart-2-kak-sdelat-skidku-delaem-skidki



    Версия Joomla 2.5.9, VirtueMart 2.0.2B, тема шаблона beez_20, все довольно стандартно. Думаю, что для любой Joomla версии выше 2.5 и VirtueMart 2.0.0 данные рекомендации будут справедливы.

    Зайдите в директорию components\com_virtuemart\views\cart\tmpl\ и откройте файл default_price.php. Найдите такую строку:

    <?php echo $this->currencyDisplay->createPriceDiv ('salesPriceShipment', '', $this->cart->pricesUnformatted['salesPriceShipment'], FALSE); ?>

    И замените ее на следующую:

    <?php echo $this->currencyDisplay->createPriceDiv ('salesPriceShipment', '', $shipment=$this->cart->pricesUnformatted['salesPriceShipment'], FALSE); ?>

 

Так мы задаем переменную для стоимости доставки.

 

После тегов

<tr class="sectiontableentry1">



</tr>

необходимо вставить такой код:


<td colspan="1">Скидка</td>

<td colspan="<?php echo $colspan+3; ?>">

<?php

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 1000.00 && $total_price-$shipment <= 1999.99){

echo "<br />"."Скидка 2% на сумму до 2000 руб.";

$discount_total=0.02*($total_price-$shipment);

}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 2000.00 && $total_price-$shipment <= 2999.99){

echo "<br />"."Скидка 4% на сумму заказа до 3000 руб.";

$discount_total=0.04*($total_price-$shipment);

}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 3000.00 && $total_price-$shipment <= 3999.99){

echo "<br />"."Скидка 8% на сумму заказа до 4000 руб.";

$discount_total=0.08*($total_price-$shipment);
}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 4000.00 && $total_price-$shipment <= 4999.99){

echo "<br />"."Скидка 10% на сумму заказа до 5000 руб.";

$discount_total=0.1*($total_price-$shipment);
}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 5000.00 && $total_price-$shipment <= 9999.99){

echo "<br />"."Скидка 15% на сумму заказа до 10000 руб.";

$discount_total=0.15*($total_price-$shipment);
}

if($total_price-$shipment > 10000.00 && $total_price-$shipment <= 14999.99){

echo "<br />"."Скидка 20% на сумму заказа до 15000 руб.";

$discount_total=0.20*($total_price-$shipment);
}

if($total_price-$shipment > 15000.00){

echo "<br />"."Скидка 25% на сумму заказа свыше 15000 руб.";

$discount_total=0.25*($total_price-$shipment);

}

session_start();

?>

</td>

</tr>

 

// в строке 5 мы присваиваем новой переменной значение стоимости всех товаров.

// в 6 строке из этой стоимости вычитается стоимость доставки и сравнивается с заданным условием. При выполнении условия, выводится сообщение о скидке и считается скидка. Далее все повторяется для других условий.


Далее находим такую строчку:

<?php echo $this->currencyDisplay->createPriceDiv ('billTotal', '', $this->cart->pricesUnformatted['billTotal'], FALSE); ?>
и заменяем ее следующей:
<?php echo $this->currencyDisplay->createPriceDiv ('billTotal', '', $total_price-$discount_total, FALSE); ?>
 

И и где-нибудь в конце добавьте

<?php session_start();

$_SESSION['total'] = $total_price-$discount_total; ?>

Сохраните файл.


3. В директории administrator\components\com_virtuemart\models найдите файл orders.php.

Примерно на  550 строке будет такая запись:


$_orderData->order_total = $_prices['BillTotal'];

Замените ее на:

$_orderData->order_total = $_SESSION['total'];

Так передадим переменную, созданную в предыдущем файле.

п.с.
суммы скидок заканчиваются на 99 копеек не зря, если написать окончательную сумму такой же с которой будет начинаться следующая скидка, считать будет Неправильно скидку( баг или нет, заказывал я товар на 2080 рублей он считал скидку 2%, чуть больше делал заказ - делал уже 4%)
1. что дописать, чтоб отображалось в корзине, например, если человек сделал заказ и скидка у него вышла 10%, а до 15% ему не хватает купить товар на 500р, выводилось сообщение: Ваша скидка составила 10%, вам можно купить товаров на 500р, чтобы получить скидку 15%.
вот тема под первый март аналогичная: http://joomlaforum.ru/index.php/topic,107902.msg595717.html, там все было хорошо....
2. в корзине отображается только конечная сумма за вычетом скидки, поле "итого" (сумма без скидки) пусто...
3. после того как нажимаем подтвердить сообщается что заказа подтвержден, но сумма в сообщении пишется 0.00
4. на почту к  админу и покупателю приходит письмо где сумма указана "итого" (сумма без скидки), скидка не указана.
спасибо.
« Последнее редактирование: 30.06.2013, 22:52:36 от lopata12 »
*

eclipseggg

  • Захожу иногда
  • 408
  • 32 / 2
копался в инете, нашел как сделать скидку в зависимости от стоимости заказа! количество скидок не ограничено.
Первоисточник, спасибо ему, больше не нашел нигде: http://team.in.ua/joomla/joomla-25-virtuemart-2-kak-sdelat-skidku-delaem-skidki



    Версия Joomla 2.5.9, VirtueMart 2.0.2B, тема шаблона beez_20, все довольно стандартно. Думаю, что для любой Joomla версии выше 2.5 и VirtueMart 2.0.0 данные рекомендации будут справедливы.

    Зайдите в директорию components\com_virtuemart\views\cart\tmpl\ и откройте файл default_price.php. Найдите такую строку:

    <?php echo $this->currencyDisplay->createPriceDiv ('salesPriceShipment', '', $this->cart->pricesUnformatted['salesPriceShipment'], FALSE); ?>

    И замените ее на следующую:

    <?php echo $this->currencyDisplay->createPriceDiv ('salesPriceShipment', '', $shipment=$this->cart->pricesUnformatted['salesPriceShipment'], FALSE); ?>

 

Так мы задаем переменную для стоимости доставки.

 

После тегов

<tr class="sectiontableentry1">



</tr>

необходимо вставить такой код:


<td colspan="1">Скидка</td>

<td colspan="<?php echo $colspan+3; ?>">

<?php

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 1000.00 && $total_price-$shipment <= 1999.99){

echo "<br />"."Скидка 2% на сумму до 2000 руб.";

$discount_total=0.02*($total_price-$shipment);

}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 2000.00 && $total_price-$shipment <= 2999.99){

echo "<br />"."Скидка 4% на сумму заказа до 3000 руб.";

$discount_total=0.04*($total_price-$shipment);

}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 3000.00 && $total_price-$shipment <= 3999.99){

echo "<br />"."Скидка 8% на сумму заказа до 4000 руб.";

$discount_total=0.08*($total_price-$shipment);
}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 4000.00 && $total_price-$shipment <= 4999.99){

echo "<br />"."Скидка 10% на сумму заказа до 5000 руб.";

$discount_total=0.1*($total_price-$shipment);
}

$total_price = $this->cart->pricesUnformatted['billTotal'];

if($total_price-$shipment > 5000.00 && $total_price-$shipment <= 9999.99){

echo "<br />"."Скидка 15% на сумму заказа до 10000 руб.";

$discount_total=0.15*($total_price-$shipment);
}

if($total_price-$shipment > 10000.00 && $total_price-$shipment <= 14999.99){

echo "<br />"."Скидка 20% на сумму заказа до 15000 руб.";

$discount_total=0.20*($total_price-$shipment);
}

if($total_price-$shipment > 15000.00){

echo "<br />"."Скидка 25% на сумму заказа свыше 15000 руб.";

$discount_total=0.25*($total_price-$shipment);

}

session_start();

?>

</td>

</tr>

 

// в строке 5 мы присваиваем новой переменной значение стоимости всех товаров.

// в 6 строке из этой стоимости вычитается стоимость доставки и сравнивается с заданным условием. При выполнении условия, выводится сообщение о скидке и считается скидка. Далее все повторяется для других условий.


Далее находим такую строчку:

<?php echo $this->currencyDisplay->createPriceDiv ('billTotal', '', $this->cart->pricesUnformatted['billTotal'], FALSE); ?>
и заменяем ее следующей:
<?php echo $this->currencyDisplay->createPriceDiv ('billTotal', '', $total_price-$discount_total, FALSE); ?>
 

И и где-нибудь в конце добавьте

<?php session_start();

$_SESSION['total'] = $total_price-$discount_total; ?>

Сохраните файл.


3. В директории administrator\components\com_virtuemart\models найдите файл orders.php.

Примерно на  550 строке будет такая запись:


$_orderData->order_total = $_prices['BillTotal'];

Замените ее на:

$_orderData->order_total = $_SESSION['total'];

Так передадим переменную, созданную в предыдущем файле.

п.с.
суммы скидок заканчиваются на 99 копеек не зря, если написать окончательную сумму такой же с которой будет начинаться следующая скидка, считать будет Неправильно скидку( баг или нет, заказывал я товар на 2080 рублей он считал скидку 2%, чуть больше делал заказ - делал уже 4%)
1. что дописать, чтоб отображалось в корзине, например, если человек сделал заказ и скидка у него вышла 10%, а до 15% ему не хватает купить товар на 500р, выводилось сообщение: Ваша скидка составила 10%, вам можно купить товаров на 500р, чтобы получить скидку 15%.
вот тема под первый март аналогичная: http://joomlaforum.ru/index.php/topic,107902.msg595717.html, там все было хорошо....
2. в корзине отображается только конечная сумма за вычетом скидки, поле "итого" (сумма без скидки) пусто...
3. после того как нажимаем подтвердить сообщается что заказа подтвержден, но сумма в сообщении пишется 0.00
4. на почту к  админу и покупателю приходит письмо где сумма указана "итого" (сумма без скидки), скидка не указана.
спасибо.

тогда возникает вопрос того чтобы функция пересчета количества пересчитывала цену со скидкой...у менят нет версии 18 но думаю что именно этот момент упущен...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Расчет общего веса заказа в корзине VirtueMart 3.6

Автор Valderdag

Ответов: 8
Просмотров: 245
Последний ответ 01.05.2020, 10:29:02
от Valderdag
Добавить кнопки + - в плагин onestepcheckout при оформлении заказа

Автор Dolphin4ik_1

Ответов: 5
Просмотров: 391
Последний ответ 15.01.2019, 10:21:04
от Dolphin4ik_1
Разные товары в зависимости от выбора города

Автор PavelK

Ответов: 0
Просмотров: 264
Последний ответ 24.12.2018, 18:40:15
от PavelK
Скидка на второй товар (Настраиваемые поля)

Автор mean

Ответов: 0
Просмотров: 338
Последний ответ 17.06.2018, 23:29:00
от mean
Модуль "Скидка"

Автор stardel

Ответов: 0
Просмотров: 352
Последний ответ 15.05.2018, 19:45:30
от stardel