марта
19

Virtuemart: пересчитываем цену на странице товара

Сегодня у нас на повестке дня очередная интересность для , а именно пересчет цены товара на странице с его описанием.

Все мы знаем, что стандартная заказа имеет у себя поле выбора количества товара. Как же нам вывести итоговую стоимость на странице описания товара? Тем более, что хочется ещё в зависимости от выбранных свойств (например, цвета и размера) изменять цену “на лету”.

Оказывается, что всё не так-то и сложно. Для решения задачи нам понадобится следующее: яваскрпит, и несколько инпут элементов.

Алгоритм работы следующий (код я приводить не буду, он несложный):

  1. Создаем инпут с уникальным ID на странице описания товара, куда будем складывать итоговую стоимость.
  2. Присваиваем инпуту с количеством товара уникальный ID.
  3. Если имеет свойства, то каждому свойству также присваиваем уникальный идентификатор.
  4. Получаем доступ к полям через document.getElementById(‘id’) и пересчитываем итоговую стоимость товара. Тут есть один “подводный камень”. Если вы суммируете значения, полученные черезdocument.getElementById(‘id’), то они воспринимаются как строки (то есть не проходят арифметические операции, а работают строковые: 100+20=120, а на самом деле имеем 100+20=10020). Чтобы этого избежать просто умножьте все значения на единицу.
  5. Выводим итоговую стоимость в инпуте с ценой.

Как видите, всё не так и сложно, а для пользователя это будет очень удобно!

  • Много ли среди нас пользователей макбуков? Где можно провести ремонт macbook air, не подскажете?
  • Думаете, что детские лагеря – это пережиток советского времени? Отнюдь нет! Убедитесь в этом сами.

5 коммент. к записи “Virtuemart: пересчитываем цену на странице товара”

  • Константин 9 августа 2010 - 13:40

    А можно таки привести код и какойнибудь примерчик?

  • K_E_V_in 9 августа 2010 - 13:51

    Ну там же все тривиально :)
    А кода под рукой нет сейчас. Я это уже давно делал

  • Сергей 17 сентября 2010 - 21:14

    Скиньте пожалуйста примерный код…

  • Олег 25 февраля 2011 - 17:52

    Жаль, я вообще не программер, но мне очень нужно чтоб цена пересчитывалась…

  • K_E_V_in 17 марта 2011 - 17:13

    По вопросу: в каких файлах всё это делается.
    1. Доступ к ID пихаем в index.php шаблона оформления (читаем про document.getElementById, материалов навалом). При желании его можно закрыть условием на открытие только в виртумарте.
    2. Сами ID прописываем во flypage.

Прокомментировать

Рубрики

Облако меток

На волнах твиттера

В прямом эфире