Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


T-ray
 Поделиться

Рекомендованные сообщения

Во общем, так и не дождавшись предложений в этой теме 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
Ссылка на комментарий
Поделиться на других сайтах


Тоже присоединяюсь к благодарностям! :D) Пока еще не тестил, но если люди говорят, что работает, значит все должно быть хорошо! :D Спасибо, T-Ray

Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

А простите, это не опасно там? :(Я имеел ввиду всякие там инъекци и т.п., потому что слышал, что применение AJAX повышает подобный риск???

Ссылка на комментарий
Поделиться на других сайтах


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

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


  • 2 месяца спустя...

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

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Все прекрасно работает, делал для v1.4.9.1Наверное, что-то пропустили в кодеСпасибо доработчику!

Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


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

<?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 месяца спустя...

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

Я сделал так

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

Атрибуты:

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

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

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

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

Ссылка на комментарий
Поделиться на других сайтах


  • 2 месяца спустя...

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

Но тут вот какая штука. Пользуюсь 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 месяца спустя...

Уважаемые форумчане, произвел изменения согласно данной темы. Версия 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 месяц спустя...

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

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

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

2ГБ $100

4ГБ $130

8ГБ $170

16ГБ $230

Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

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

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

  • 2 месяца спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.