Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] Обновление цены при выборе опции, без AJAX - HYPER Dynamic price of options OC 2


Recommended Posts

Списки все равно с автовыбором остались.

 

Для списков надо это:

<add><![CDATA[  ]]></add>

Заменить на это:

<add><![CDATA[<option value=""  price_prefix="+" price="0.0"><?php echo $text_select; ?></option>]]></add>
Надіслати
Поділитися на інших сайтах

Инфо для тех, кто фиксил неработающую в IE кнопку Купить и перенес <?php echo $footer; ?> из конца файла catalog/view/theme/default/template/product/product.tpl в место перед скриптами, в xml модуля нужно заменить:

<search position="before"><![CDATA[<?php echo $footer; ?>]]></search>

на

<search position="after"><![CDATA[<?php echo $footer; ?>]]></search>
Надіслати
Поділитися на інших сайтах


Добрый день, хотел бы уточнить как сделать в вашем файле округление до сотых.
модификации проводились в файле system/library/currency.php
дописывал строки

if ($currency == 'BYR')
 
{
$string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);
}
else
{
$string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);
}
 
и в белоруских рублях он показывает не округленную цену. Как это исправить помогите пожалуйста, заранее спасибо.
Надіслати
Поділитися на інших сайтах


 

Добрый день, хотел бы уточнить как сделать в вашем файле округление до сотых.

модификации проводились в файле system/library/currency.php

дописывал строки

if ($currency == 'BYR')
 
{
$string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);
}
else
{
$string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);
}
 
и в белоруских рублях он показывает не округленную цену. Как это исправить помогите пожалуйста, заранее спасибо.

 

Вы наверное имели ввиду округление до сотен а не сотых?

Надіслати
Поділитися на інших сайтах

Да все верно, извините описался, помогите пожалуйста с округлением.

 

В system/library/currency.php перед строкой:

    	$string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);

Добавьте:

if ($currency == 'BYR') {
    $decimal_place = -2;
}

У меня всё так нормально сработало.

  • +1 1
Надіслати
Поділитися на інших сайтах

В system/library/currency.php перед строкой:

    	$string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);

Добавьте:

if ($currency == 'BYR') {
    $decimal_place = -2;
}

У меня всё так нормально сработало.

 

Нет вы меня не так немного поняли, у меня есть модуль autocalc_price_option_v2.0.12.xml и он не правильно округляет, вот и думаю как это исправить.

 

вот пример: http://stroykaby.by/caparol-amphibolin-premium-klassa-10l-b-1.html

в скобках пишет одну цену а сверху пересчитавает другую.

Надіслати
Поділитися на інших сайтах


Нет вы меня не так немного поняли, у меня есть модуль autocalc_price_option_v2.0.12.xml и он не правильно округляет, вот и думаю как это исправить.

 

В модуле замените строчку:

$var_currency['decimals'] = $this->currency->getDecimalPlace();

На эту:

$var_currency['decimals'] = ($this->currency->getCode() == 'BYR') ? -2 : $this->currency->getDecimalPlace();
  • +1 1
Надіслати
Поділитися на інших сайтах

 

В модуле замените строчку:

$var_currency['decimals'] = $this->currency->getDecimalPlace();

На эту:

$var_currency['decimals'] = ($this->currency->getCode() == 'BYR') ? -2 : $this->currency->getDecimalPlace();

 

поменял а он вообще не пересчитывает

Надіслати
Поділитися на інших сайтах


поменял а он вообще не пересчитывает

Пересчитывает, но там по разному получается округление.

В скрипте отбрасывание получается, а не округление.

Надіслати
Поділитися на інших сайтах

так а какой тогда выход?

Решение есть.

 

В модуле перед строкой:

function price_format(n)

Добавляем:

function round(a,b) {
 b=b || 0;
 return Math.round(a*Math.pow(10,b))/Math.pow(10,b);
}

И после строки:

n = n * <?php echo $currency['value']; ?>;

Добавляем:

n = round(n, c);
Надіслати
Поділитися на інших сайтах

 

Решение есть.

 

В модуле перед строкой:

function price_format(n)

Добавляем:

function round(a,b) {
 b=b || 0;
 return Math.round(a*Math.pow(10,b))/Math.pow(10,b);
}

И после строки:

n = n * <?php echo $currency['value']; ?>;

Добавляем:

n = round(n, c);

 

Спасибо огромное, извините если что за предоставленные мною хлопоты, но он не хочет пересчитывать все равно.

Надіслати
Поділитися на інших сайтах


Спасибо огромное, извините если что за предоставленные мною хлопоты, но он не хочет пересчитывать все равно.

Странно.

В хроме не работает, а в firefox всё хорошо.

Надіслати
Поділитися на інших сайтах

Доброго времени суток. Модуль отличный искал давно, но почему то не желает полностью работать.

Модуль установил v2.0.12 цена меняется от выбора опции, что не работает авто обновление цены после смены количества товара, цена обновляется после перехода на другую опцию. Например есть 2 опции первая купить ШТ. и вторая купить упаковку, так вот если стоит на ШТ. выбираешь количество 2 или 3 не важно сколько цена не меняется, переходишь на упаковками цена показывает за 2 или 3 не важно сколько упаковок. Одним словом цена меняет, но не преувеличении количества товара. Ошибок ни каких прошу помочь очень нужная вещь.

Спасибо за Ваше внимание.

 

P.S. Действия по вставке кода до

//Display Main Price

произвел.

Надіслати
Поділитися на інших сайтах


Доброго времени суток. Модуль отличный искал давно, но почему то не желает полностью работать.

Модуль установил v2.0.12 цена меняется от выбора опции, что не работает авто обновление цены после смены количества товара, цена обновляется после перехода на другую опцию. Например есть 2 опции первая купить ШТ. и вторая купить упаковку, так вот если стоит на ШТ. выбираешь количество 2 или 3 не важно сколько цена не меняется, переходишь на упаковками цена показывает за 2 или 3 не важно сколько упаковок. Одним словом цена меняет, но не преувеличении количества товара. Ошибок ни каких прошу помочь очень нужная вещь.

Спасибо за Ваше внимание.

 

P.S. Действия по вставке кода до

//Display Main Price

произвел.

Скиньте ссылку на сайт в личку. Вечером гляну в чём там беда.

Надіслати
Поділитися на інших сайтах

Спасибо огромное, отличный парень помучил его минут 30, он не в какую, пока не добил, что бы работало. Красава, все по мужски (мужик сказал, мужик сделал) по больше таких людей попадалось бы на форуме, да и не только на форуме, но и в жизни. Спасибо еще раз, огромное человеческое!

Надіслати
Поділитися на інших сайтах


Спасибо огромное, отличный парень помучил его минут 30, он не в какую, пока не добил, что бы работало. Красава, все по мужски (мужик сказал, мужик сделал) по больше таких людей попадалось бы на форуме, да и не только на форуме, но и в жизни. Спасибо еще раз, огромное человеческое!

Пожалуйста.

Надіслати
Поділитися на інших сайтах

утановил модуль  но выдает ошибку Notice: Undefined variable: opt_checked in /home/smartsto/smart-store.com.ua/www/vqmod/vqcache/vq2-catalog_view_theme_Universum_template_product_product.tpl on line 228 onchange="recalculateprice();" /> 6 месяцев (+80грн.), и не считает сумму

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.