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

Автопересчет цены при выб. опции товара. 1.4.8b [Доработка]


T-ray

Recommended Posts

Во общем, так и не дождавшись предложений в этой теме viewtopic.php?f=15&t=418 по совершенствованию алгоритма, выкладываю свою доработку по автоматическому пересчету цены при выборе опции товара.

Сейчас решение под 1.4.8b работает так:

При изменении значения опции пересчитывается цена на клиенте (JAVASCRIPT), затем AJAX запрос к серверу чтобы отформатировать значение цены.

Во вложении файлы из которых выкусывать доработку.

Все новые/измененные участки кода помечены тегами:

100618 ALNAUA Add javascript price recalculate Begin
и

100618 ALNAUA Add javascript price recalculate End
т.е. все что между этими тегами переносим себе в теже файлы, в тоже место.

Не забудьте сделать резервные копии своих файлов, чтобы восстановиться, если напортачите с переносом.

AutoCalculatePrice.zip

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


  • 2 weeks later...

Выкладывали уже здесь подобное еще для версии 1.4.0. У меня до сих пор работает на любой версии.

Если можно, дайте ссылку, пожалуйста. https://opencartforum.com/public/style_emoticons/default/icon_question.gifХочется посмотреть какое там решение.
Надіслати
Поділитися на інших сайтах


  • 2 months later...

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

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


  • 1 month later...
  • 2 weeks later...

Господа, а как убрать визуализацию надбавки к основной стоимости? Т.е. сделать так, чтобы при выборе, например, при выборе нужного размера, в выпадающем меню не отображался + и разница с первоначальной стоимостью?

Если кто знаком с Джумла+Виртумарт, то там при добавлении атрибута товара, напротив него сразу ставишь цену, а не вычитаешь разницу о наименьшей цены и в клиентской части сайта напротив атрибута отображается полная стоимость.

Собственно, хочу узнать как реализовать такую возможность в опенкарте.

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


Господа, а как убрать визуализацию надбавки к основной стоимости? Т.е. сделать так, чтобы при выборе, например, при выборе нужного размера, в выпадающем меню не отображался + и разница с первоначальной стоимостью?

<?php //100618 ALNAUA Add javascript price recalculate End ?>
         <?php if ($option_value['price']) { ?>
         <?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?>
на

<?php //100618 ALNAUA Add javascript price recalculate End ?>
          <?php if ($option_value['price']) { ?>
          <?php echo $option_value['price']; ?>
И в свойствах атрибута поставить "наценка: нет", тогда получается ты просто задаешь цену у каждого атрибута безо всяких + и - Змінено користувачем afwollis
edit -> save
Надіслати
Поділитися на інших сайтах


Очень приятно было бы увидеть такое же решение с остатками, если кто-то уже сделал.

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


Если налог на товар выключен, то на ocStore v0.1.5 работает отлично. Если же налог включён, то при загругке страницы сперва показывает правельную цену (цена + налог), а потом соскакивает на цену без налога и стоимость опции добавляется к цене без налога.

Добавочную стоимость опции показывает правильно - с налогом.

В корзине всё правильно отображается: основная + дополнительная цена без налога, налог и общая стоимость.)

Как исправить эту ошибку?

Что-то я не нашёл, в атрибутах строки "наценка: нет"?!

Чтобы в опциях не отображались "+50" (ни плюс, не добавочная стоимость) достаточно ли удалить:

<?php if ($option_value['price']) { ?>
         <?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?>
         <?php } ?>
Не повлияет ли это на работоспособность магазина? Змінено користувачем afwollis
edit -> save
Надіслати
Поділитися на інших сайтах


  • 4 months later...

у меня цена исчезла но + осталса, помогите пожалуйста!!!

Я сделал так

Товар (Nokia 5530) цена 10000р.

Атрибуты:

Только телефон +0 (она стоит первой)

С флешкой +8 гиг +1000р.

С флешкой +16гиг +1200р.

С ноутбуком +9000р

Атрибуты работают

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


  • 2 weeks later...

Люди, а кто-нибудь придумал уже, как разграничить остатки, чтобы на каждой опции показывался свой остаток, а не общий? Поделитесь? Или носом тыкните, мож где уже обсуждали..

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


  • 2 months later...

Здравствуйте. Очень полезная штука, за реализацию огромное спасибо.

Но тут вот какая штука. Пользуюсь ocstore_v0.2.2 и переделал под свой лад вывод атрибутов в радио стиле вот по этому описанию https://opencartforum.com/topic/1384-%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%B8-%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BE-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE/page__p__8566__hl__%D1%80%D0%B0%D0%B4%D0%B8%D0%BE__fromsearch__1#entry8566 и как теперь основную цену менять не знаю. Делал все по инструкции, точнее, заменил все как надо, добавил, и загвоздка в

<tr>
                    <td><?php echo $option['name']; ?>:<br />
                      <?php //100618 ALNAUA Add javascript price recalculate Begin ?>
                      <?php /*<select name="option[<?php echo $option['option_id']; ?>]"> */?>
                      <select name="option[<?php echo $option['option_id']; ?>]" onchange="recalculateprice();">
                      <?php //100618 ALNAUA Add javascript price recalculate End ?>
                        <?php foreach ($option['option_value'] as $option_value) { ?>
                          <?php //100618 ALNAUA Add javascript price recalculate Begin ?>
                          <?php /*<option value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?> */?>
                          <option value="<?php echo $option_value['option_value_id']; ?>" price="<?php echo $option_value['price_value']; ?>"><?php echo $option_value['name']; ?>
                          <?php //100618 ALNAUA Add javascript price recalculate End ?>
                        <?php if ($option_value['price']) { ?>
                        <?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?>
                        <?php } ?>
                        </option>
                        <?php } ?>
                      </select></td>
                  </tr>
как мне изменить основную цену используя радиокнопку из выше указанной темы? код радиокнопок:

<?php foreach ($option['option_value'] as $option_value) { ?>
         <input type="radio" name="option[<?php echo $option['option_id']; ?>]" value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?>
         <?php if ($option_value['price']) { ?>
             <?php echo $option_value['price']; ?>
         <?php } ?>
         <?php } ?>
В ПХП не силен, но насколько понимаю все сводиться к тому что бы "прикрутить" к

<input type="radio" name="option[<?php echo $option['option_id']; ?>]" value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?>
это

onclick="recalculateprice();"
и это

price="<?php echo $option_value['price_value']; ?>"

Заранее спасибо.

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


  • 3 months later...

Уважаемые форумчане, произвел изменения согласно данной темы. Версия 1.4.9.4

В карточке товара цена меняется - безумно приятно.

Одна возник уже вышеупомянутый недочет: при добавлении товара в корзину, стоимость товара становится равна базовой стоимости товара. Т.е. наценка не срабатывает. А при добавлении товара в корзину, не указывается его атрибут (в моем случае - объем).

Вернул бэкапные файлы (catalog/view/theme/default/template/product/product.tpl и catalog/controller/product/product.php), на которых все работало до этого.

Пример старых файлов на старом хостинге тут.

Пример бэкапных файлов, с которыми уже не работает тут.

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


Люди добрые, хотя бы направление подскажите, куда копать.

Заменил на дефолтные:

catalog/view/theme/default/template/product/product.tpl

catalog/controller/product/product.php

system/library/cart.php

Проблема не исчезает. Товар добавляется в корзину без учета атрибутов, т.е. стакается независимо от выбранных значений опции, и не добавляется наценка в зависимости от все тех же опций. Ссылки на работающий магазин и неработающий магазин в предыдущем посте...

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


  • 1 month later...

Не подскажете как сделать так, чтобы задавать в админке цену товара сразу с определенным атрибутом, а не плюсовать стоимость атрибута к основной. Т.е. чтобы было например так:

Ipod $100 основная цена

и ниже в выпадающем списке:

2ГБ $100

4ГБ $130

8ГБ $170

16ГБ $230

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


  • 2 weeks later...

Товар добавляется в корзину без учета атрибутов, т.е. стакается независимо от выбранных значений опции, и не добавляется наценка в зависимости от все тех же опций. С

У меня тоже самое. Установлена последняя версия. Товар добавляется без начисления стоимости опции.
Надіслати
Поділитися на інших сайтах

  • 2 months later...

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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