Перейти к содержанию
mpn2005

[Поддержка] Обновление цены при выборе опции, без AJAX (OC1.5, OC2)

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

Супер мод! Странно, как раньше мимо него прошел. Поставил 2.0.21 на opencart 1.5.6 и дефолтную тему. Добавил несколько опций обязательных, и несколько необязательных. Объясню на примере кабельного ТВ. Суть в том, что, если, к примеру, выбрать в кач-ве опции - умножение (например, обязательная опция - подписка на услугу, от  1 до 12 мес), а в кач-ве необязательной опции - доп услугу (например, каналы в Ultra HD, с прибавлением к прайсу определенной суммы), то умножение не учитывает доп. опции более 1 раза. Другими словами, если базовая цена услуги 100р/мес, дополнительная услуга Ultra HD - +50р/мес, то при выборе подписки на 2 месяцы, итоговая сумма получается (100*2)+50, а должно быть (100+50)*2. Т.е. доп. опции не умножаются. При этом, если опцию срока подписки сделать дополнительной (not requred), то начинает считать правильно. Можно было бы так оставить, но как быть, если таких опций (умножения) две, три и более? Например, точек оказания услуги - две, т.е. снова нужно умножить прайс на два, и он снова не учтет дополнительные +50р каждый месяц, а учтет только за 1 раз.

Интуиция подсказывает, что решение простое и оно на поверхности, следует в перерасчете использовать все опции, а не только requred, но в каком модуле, mpn2005 или sergiosinicin?

Поделиться сообщением


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

Не подскажите, у меня по умолчанию товары выставлены в долларах, но цена в карточке товара отображается в рублях. окшоп 1.5.6.4

Если установить ваш модуль, то цена показывается в долларах.

Надо контроллере принудительно поставить нужную валюту.

Тогда будет считать в указанной валюте.

Поделиться сообщением


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

UP!

Необходима корректировка под тему.

Без доступов подробнее сказать не могу.

Скиньте в личку доступ на фтп и в админку, помогу завести.

Поделиться сообщением


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

Супер мод! Странно, как раньше мимо него прошел. Поставил 2.0.21 на opencart 1.5.6 и дефолтную тему. Добавил несколько опций обязательных, и несколько необязательных. Объясню на примере кабельного ТВ. Суть в том, что, если, к примеру, выбрать в кач-ве опции - умножение (например, обязательная опция - подписка на услугу, от  1 до 12 мес), а в кач-ве необязательной опции - доп услугу (например, каналы в Ultra HD, с прибавлением к прайсу определенной суммы), то умножение не учитывает доп. опции более 1 раза. Другими словами, если базовая цена услуги 100р/мес, дополнительная услуга Ultra HD - +50р/мес, то при выборе подписки на 2 месяцы, итоговая сумма получается (100*2)+50, а должно быть (100+50)*2. Т.е. доп. опции не умножаются. При этом, если опцию срока подписки сделать дополнительной (not requred), то начинает считать правильно. Можно было бы так оставить, но как быть, если таких опций (умножения) две, три и более? Например, точек оказания услуги - две, т.е. снова нужно умножить прайс на два, и он снова не учтет дополнительные +50р каждый месяц, а учтет только за 1 раз.

Интуиция подсказывает, что решение простое и оно на поверхности, следует в перерасчете использовать все опции, а не только requred, но в каком модуле, mpn2005 или sergiosinicin?

По идее расчёт должен проводиться по очерёдности опций.

Расставьте опции в нужном порядке, должно помочь. Если будут вопросы, скиньте в личку ссылку на страницу товара.

  • +1 1

Поделиться сообщением


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

По идее расчёт должен проводиться по очерёдности опций.

Расставьте опции в нужном порядке, должно помочь. Если будут вопросы, скиньте в личку ссылку на страницу товара.

Так и есть. По дефолту product.tpl выводит все опции в одном блоке. А я опции разделил на два блока requred и not-requred и стилями оформил их как две колонки. Соответственно, мод работает правильно, это мои кастомизации внесли путаницу.

Сделано топорно:

  <div id="required-options"> 
        <h4><?php echo $text_required_param; ?></h4>      
        <?php foreach ($options as $option) { ?>
        <?php if ($option['required']) { ?>
        <?php if ($option['type'] == 'select') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <select name="option[<?php echo $option['product_option_id']; ?>]">
            <option value=""><?php echo $text_select; ?></option>
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>

<?php if ($option['product_option_id'] == '20' || $option['product_option_id'] == '23' || $option['product_option_id'] == '24' || $option['product_option_id'] == '25'|| $option['product_option_id'] == '32' || $option['product_option_id'] == '33') { ?> 
<?php if ($option_value['price']) { ?> 
( <?php echo 'x'; ?> <?php echo round($option_value['price'],2); ?> )
<?php } ?>  
<?php } else if ($option_value['price']) { ?> 
( <?php echo $option_value['price_prefix']; ?> <?php echo $option_value['price']; ?> )
<?php } ?>
            </option>
            <?php } ?>
          </select>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'radio') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <?php foreach ($option['option_value'] as $option_value) { ?>
          <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
          <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php } ?>
          </label>
          <br />
          <?php } ?>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'checkbox') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <?php foreach ($option['option_value'] as $option_value) { ?>
          <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
          <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php } ?>
          </label>
          <br />
          <?php } ?>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'image') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <table class="option-image">
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <tr>
              <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td>
              <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></label></td>
              <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
                  <?php if ($option_value['price']) { ?>
                  (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                  <?php } ?>
                </label></td>
            </tr>
            <?php } ?>
          </table>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'text') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'textarea') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'file') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button">
          <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'date') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'datetime') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'time') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" />
        </div>
        <br />
        <?php } ?>       
        <?php } ?> 
        <?php } ?>
        </div>
                
<div id="no-required-options"> 
        <h4><?php echo $text_no_required_param; ?></h4>      
        <?php foreach ($options as $option) { ?>
        <?php if (!$option['required']) { ?>
        <?php if ($option['type'] == 'select') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <select name="option[<?php echo $option['product_option_id']; ?>]">
            <option value=""><?php echo $text_select; ?></option>
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            ( <?php echo $option_value['price_prefix']; ?> <?php echo $option_value['price']; ?> )
            <?php } ?>
            </option>
            <?php } ?>
          </select>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'radio') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <?php foreach ($option['option_value'] as $option_value) { ?>
          <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
          <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            ( <?php echo $option_value['price_prefix']; ?> <?php echo $option_value['price']; ?> )
            <?php } ?>
          </label>
          <br />
          <?php } ?>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'checkbox') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <?php foreach ($option['option_value'] as $option_value) { ?>
          <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
          <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
            <?php if ($option_value['price']) { ?>
            (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
            <?php } ?>
          </label>
          <br />
          <?php } ?>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'image') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <table class="option-image">
            <?php foreach ($option['option_value'] as $option_value) { ?>
            <tr>
              <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td>
              <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></label></td>
              <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
                  <?php if ($option_value['price']) { ?>
                  (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                  <?php } ?>
                </label></td>
            </tr>
            <?php } ?>
          </table>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'text') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'textarea') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea>
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'file') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button">
          <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'date') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'datetime') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" />
        </div>
        <br />
        <?php } ?>
        <?php if ($option['type'] == 'time') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" />
        </div>
        <br />
        <?php } ?>       
        <?php } ?> 

                <?php } ?></div>
      </div>
      <?php } ?>

Поделиться сообщением


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

 

Так и есть. По дефолту product.tpl выводит все опции в одном блоке. А я опции разделил на два блока requred и not-requred и стилями оформил их как две колонки. Соответственно, мод работает правильно, это мои кастомизации внесли путаницу.

Сделано топорно:

 

Обработка опций идет по их очерёдности на странице.

Данное деление нарушило порядок следования опций, что приводит к искажению в расчётах.

  • +1 1

Поделиться сообщением


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

Ок. Значит, поменял блоки requred-options и no-requred-options местами, т.к. опция срок подписки - последняя в необходимых, и следовательно - она самая последняя в списке всех опций, стилями прибил столбцы по краям области контента, и все работает как надо. Еще раз выражаю автору благодарность и за модуль, и за поддержку!

Изменено пользователем devel

Поделиться сообщением


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

Обработка опций идет по их очерёдности на странице.

Данное деление нарушило порядок следования опций, что приводит к искажению в расчётах.

Стоит модификатор autocalc_price_option_OC2_v3.0.7.ocmod.xml и настроено на цену xx руб. xx коп. - в категории отображается с отдельными копейками, а вот в карточке товара по старому отображается.

 

Как исправить?

Поделиться сообщением


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

 

Ketty83 сказал(а) 04 Июл 2016 - 12:39 AM:snapback.png

mpn2005, в autocalc_price_option_OC2_v3.0.7.ocmod.xml есть автовыбор первой опции?

Пока нет. Как появится минутка, добавлю такую настройку.

Минутка ещё не появилась?  :-)

Поделиться сообщением


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

Добавлять ничего не надо. Но надо чтобы всё применилось.

Т.к. могут быть отличия от карточки товара в быстром просмотре.

 

Сейчас пока совсем по времени загружен.

К выходным должно быть уже посвободнее. Если не получится до этого времени реализовать, пишите. Помогу адаптировать.

Здравствуйте! Так ничего и не получилось. Скажите пожалуйста, нет ли какого более менее универсального способа? Если нет, могли бы помочь? Пожалуйста.

Поделиться сообщением


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

Минутка ещё не появилась?  :-)

Можешь сам в ручную допилить https://opencartforum.com/topic/59821-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80-%D0%BE%D0%BF%D1%86%D0%B8%D0%B8-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-ocmod-2x/?do=findComment&comment=581201

Изменено пользователем ValeryVydrin

Поделиться сообщением


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

Здравствуйте! Так ничего и не получилось. Скажите пожалуйста, нет ли какого более менее универсального способа? Если нет, могли бы помочь? Пожалуйста.

Добрый день.

 

Скинте доступ на фтп в личку.

Для ОС2 нужен ещё доступ в админку.

И ссылки на страницы для тестирования.

Поделиться сообщением


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

У нас на сайте стоит 2.0.19, а в примере что выше указал - там не знаю. Это дэмо ваше, которое здесь в первом сообщении темы этой - http://mpn-oc.org/autocalc_price_option_special.html

 

Вами в тег <span> задумано прописывание базовой цены: 

<span id="formated_price" price="<?php echo $price_value; ?>"><?php echo $price; ?></span> - это пример строки из xml-файла.

Как этот атрибут "price=" вытащить из <span>, может получится как-то просто тут же рядом в div? Тогда видать работать не будет... 

Почему возникла необходимость в устранении этого места, согласно возмущению валидатора-теста кода? Задачу сеошники поставили: срочно поубирать все эрорр из кода. Оно понятно что куда не зайди на сайт промерять, то у всех ошибки. Но вот требуется иногда сведение ошибок кода к минимуму, если есть проблемы с продвижением магазина в конкурентной нише.

Обновление:

  • v2.0.22 (27.09.2016) - Прохождение валидации html.

Поделиться сообщением


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

Здравствуйте! Так ничего и не получилось. Скажите пожалуйста, нет ли какого более менее универсального способа? Если нет, могли бы помочь? Пожалуйста.

Обновление:

  • v3.0.8 (27.09.2016) - Добавлена настройка - "Выбор первой опции (autocalc)". При включении выбирает первую опцию (radio, select). В настройке магазина на закладке Локализация.
  • +1 1

Поделиться сообщением


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

Здравствуйте!

Я похоже обнаружил несовместимость вашего модуля с XDS Coloring theme, т.к при установке вашего модуля в карточке товара перестает работать кнопка "В корзину" для товаров с опциями и при просмотре кода кричит "Uncaught SyntaxError: Unexpected token var" и ссылается на var price. Вот фрагмент кода который он мне выдает через панель разработчика в Chrome:

$('#button-review').on('click', function() {
	$.ajax({
		url: 'index.php?route=product/product/write&product_id=13',
		type: 'post',
		dataType: 'json',
		data: 'name=' + encodeURIComponent($('input[name=\'name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
		beforeSend: function() {
			$('#button-review').button('loading');
		},
		complete: function() {
			$('#button-review').button('reset');
			$('#captcha').attr('src', 'index.php?route=tool/captcha#'+new Date().getTime());
			$('input[name=\'captcha\']').val('');
		},
		success: function(json) {
			$('.alert-success, .alert-danger').remove();
			
			if (json['error']) {
				$('.riview-helper').before('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>');
			}
			
			if (json['success']) {
				$('.riview-helper').before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>').remove();
				
				$('input[name=\'name\']').val('');
				$('textarea[name=\'text\']').val('');
				$('input[name=\'rating\']:checked').prop('checked', false);
				$('input[name=\'captcha\']').val('');
			}
		}
	});
});

$(document).ready(function() {
	$('.thumbnails .images-additional').magnificPopup({
		type:'image',
		delegate: 'a',
		gallery: {
			enabled:true
		}
	});
});

		var price = []; 
var quantity = [];
price[11] = '1 100 р.';
price[12] = '1 100 р.';
price[13] = '1 100 р.';

$('#input-option4').change(function () {
	var productOptionId = $('#input-option4 :selected').val();
	$('#price').html(price[productOptionId]);
	$('#tax').html();
});

		
$(document).ready(function() {	
	$('.thumbnails .main-image').magnificPopup({
		type:'image'
	});
});

$('.images-additional img').click(function(){
	var oldsrc = $(this).attr('src'),
			newsrc = oldsrc.replace('74x74','228x228'),

		var price = []; *Uncaught SyntaxError: Unexpected token var
var quantity = [];
price[11] = '1 100 р.';
price[12] = '1 100 р.';
price[13] = '1 100 р.';

$('#input-option4').change(function () {
	var productOptionId = $('#input-option4 :selected').val();
	$('#price').html(price[productOptionId]);
	$('#tax').html();
});

		
			newhref = $(this).parent().attr('href'),
			number = $(this).attr('data-number');
	
	$('.main-image img').attr('src', newsrc);
	$('.main-image').attr('href', newhref);
	$('.main-image').attr('data-number', number);
	return false;
});


$('.thumbnails .main-image img').click(function(){
	if ($('.thumbnails .images-additional').length > 0) {
		var startnumber = $(this).parent().attr('data-number');
		$('.thumbnails .images-additional').magnificPopup('open', startnumber);
		return false
	} else {
		$(this).magnificPopup('open');
		return false
	}
});

При удалении и замене на стандартный файла product.tpl в system/storage/modification/catalog/view/theme/default/template/product на файл из стандартной поставки ошибка уходит, но при обновлении кэша возвращается. Подскажите пожалуйста как зафиксить данную проблему чтобы либо исправно работал ваш модуль, либо подскажите как полностью удалить последствия установки вашего модуля, т.к при удалении по файлу установки видимо удаляется не всё. 

 

Версия ocStore 2.1.0.2.1

Сайт test.ортохэлс.рф

Карточка товара с ошибкой

Поделиться сообщением


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

Добрый день!

У меня стоит ocStore 2.1.0.1 (default)

Проблема состоит в том, что после установки Вашего модуля (autocalc_price_option_OC2_v3.0.7.ocmod) цена на странице товара просто пересчитывается в 0 и нет реакции на опции с наценкой. Думаю что проблема в конфликте модулей, так как устанавливал на пустой ocStore 2.1.0.1 (default) без остальных модулей - все работает. Можете подсказать в чем может быть проблема?

Сайт: http://homeness.evkos.com.ua

 

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

Поделиться сообщением


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

Все, вопрос снят.

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

 

Большое спасибо за модуль!!!

Поделиться сообщением


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

Спасибо огромное за последнее обновление! Давно ждал функцию выбор первой опции!! раньше в product.tpl решал этот вопрос так:

Находил это: 

<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="<?php echo $option['product_option_id']; ?>_<?php echo $option_value['product_option_value_id']; ?>" />

и перед  /> дописывал checked при таком решении выбиралось только последняя опция, что для меня не есть хорошо. Спасибо большое!!

Еще вопрос в шаблоне XDS Coloring есть возможность в быстром просмотре сделать автоизменение цены? 

Поделиться сообщением


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

Добрый день!

У меня стоит ocStore 2.1.0.1 (default)

Проблема состоит в том, что после установки Вашего модуля (autocalc_price_option_OC2_v3.0.7.ocmod) цена на странице товара просто пересчитывается в 0 и нет реакции на опции с наценкой. Думаю что проблема в конфликте модулей, так как устанавливал на пустой ocStore 2.1.0.1 (default) без остальных модулей - все работает. Можете подсказать в чем может быть проблема?

Сайт: http://homeness.evkos.com.ua

 

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

Добрый день.

 

Угадать не возможно.

Надо смотреть код и разбираться.

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

Посмотрю в чём там дело.

Поделиться сообщением


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

Здравствуйте!

Я похоже обнаружил несовместимость вашего модуля с XDS Coloring theme, т.к при установке вашего модуля в карточке товара перестает работать кнопка "В корзину" для товаров с опциями и при просмотре кода кричит "Uncaught SyntaxError: Unexpected token var" и ссылается на var price. Вот фрагмент кода который он мне выдает через панель разработчика в Chrome:

При удалении и замене на стандартный файла product.tpl в system/storage/modification/catalog/view/theme/default/template/product на файл из стандартной поставки ошибка уходит, но при обновлении кэша возвращается. Подскажите пожалуйста как зафиксить данную проблему чтобы либо исправно работал ваш модуль, либо подскажите как полностью удалить последствия установки вашего модуля, т.к при удалении по файлу установки видимо удаляется не всё. 

 

Версия ocStore 2.1.0.2.1

Сайт test.ортохэлс.рф

Карточка товара с ошибкой

 

Без доступов сложно что-то сказать.

Нужен доступ на фтп и в админку. И ссылка на товар для тестирования.

Поделиться сообщением


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

Спасибо огромное за последнее обновление! Давно ждал функцию выбор первой опции!! раньше в product.tpl решал этот вопрос так:

Находил это: 

<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="<?php echo $option['product_option_id']; ?>_<?php echo $option_value['product_option_value_id']; ?>" />

и перед  /> дописывал checked при таком решении выбиралось только последняя опция, что для меня не есть хорошо. Спасибо большое!!

Еще вопрос в шаблоне XDS Coloring есть возможность в быстром просмотре сделать автоизменение цены? 

Всё то же самоё что и у других.

По фотографиям и скриншотам не гадаю.

Доступ на фтп и в админку. И ссылку на товар ля тестирования.

Поделиться сообщением


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

Всё то же самоё что и у других.

По фотографиям и скриншотам не гадаю.

Доступ на фтп и в админку. И ссылку на товар ля тестирования.

Спасибо mpn2005 за помощь! Скинул доступ в личку, починил все даже глазом не успел моргнуть! Великий человек - великий его модуль!

Так что даже не бойтесь обращаться, этому разработчику можно доверять!

Поделиться сообщением


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

Добрый день! Ещё раз спасибо вам за такое замечательное дополнение.

Можно ли сделать автоматический выбор не первой, а второй, третьей.... опции?

Поделиться сообщением


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

Добрый день! Ещё раз спасибо вам за такое замечательное дополнение.

Можно ли сделать автоматический выбор не первой, а второй, третьей.... опции?

Добрый день.

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

Желательно со ссылкой на страницу товара в личку.

Поделиться сообщением


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

А я хочу выразить АВТОРУ огромную благодарность за ваш труд, все ровно встало на опен 2 и на недефолтную тему, без танцев работает как часы и очень порадовалась тому, что еще можно настраивать. Спасибо вам, вы прекрасный человек, творите очень нужные вещи ? У меня ocStore 2.1.0.1

Изменено пользователем Anasta90

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От mpn2005
      500.00 руб
      Скачать/Купить дополнение


      [OC3] Обновление цены при выборе опции, без AJAX
      Модуль динамически изменяет цену товара при выборе опции и изменении количества товара.
      Дополнительные действия к цене опции: =, %, *,  /.
      На этапе развития модуля поддержка оказывается без дополнительной оплаты.
       
      Демо:
      OpenCart v3.0.2.0: Демо1 Демо2 (акция)
       
      Вохможности:
      Учитывается акция на товар Учитывается скидка на товар Обновление цены с учётом налогов Обновление цены в бонусных баллах (вкл / выкл) Умножение цены на введённое количество товара (вкл / выкл) Акция на опции пропорционально акции на товар  (вкл / выкл) Скидка на опции пропорционально скидке на товар (вкл / выкл) Автоматический выбор первой опции (вкл / выкл) Вывод цены в дополнительной валюте (NEW) (вкл / выкл) Не показывать цену опции Дополнительные действия к цене опции: =, %, *,  /. Поддержка шаблонов: UniShop, NewStore (OC3)  
      Настройки модуля находятся на закладке Локализация в конфигурации магазина
       
      Версия для OC1.5, OC2
       
      Особенности работы:
      Не используется AJAX, поэтому при подсчёте скидок учитывается только введённое количество (товар, лежащий в корзине, в расчёте не участвует). Добавил mpn2005 Добавлено 21.04.2018 Категория Опции Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop  
    • От mpn2005
      Модуль динамически изменяет цену товара при выборе опции и изменении количества товара.
      Дополнительные действия к цене опции: =, %, *,  /.
      На этапе развития модуля поддержка оказывается без дополнительной оплаты.
       
      Демо:
      OpenCart v3.0.2.0: Демо1 Демо2 (акция)
       
      Вохможности:
      Учитывается акция на товар Учитывается скидка на товар Обновление цены с учётом налогов Обновление цены в бонусных баллах (вкл / выкл) Умножение цены на введённое количество товара (вкл / выкл) Акция на опции пропорционально акции на товар  (вкл / выкл) Скидка на опции пропорционально скидке на товар (вкл / выкл) Автоматический выбор первой опции (вкл / выкл) Вывод цены в дополнительной валюте (NEW) (вкл / выкл) Не показывать цену опции Дополнительные действия к цене опции: =, %, *,  /. Поддержка шаблонов: UniShop, NewStore (OC3)  
      Настройки модуля находятся на закладке Локализация в конфигурации магазина
       
      Версия для OC1.5, OC2
       
      Особенности работы:
      Не используется AJAX, поэтому при подсчёте скидок учитывается только введённое количество (товар, лежащий в корзине, в расчёте не участвует).
    • От Serg9988
      300.00 руб
      Скачать/Купить дополнение


      SM Связанные товары + опции
      SM Связанные товары + опции
       
       
       
      Краткое описание:
      Модуль позволяет создать связи между товарами при помощи полей sku,model,upc,ean,jan,isbn,mpn и выводить связанные товары на карточку товара родителя с возможностью покупки связанного товара с учетом опций.
      Допустим у вас есть товар ТЕСТ1  в поле SKU которого указано "123" и есть еще два товара ТЕСТ2 и ТЕСТ3 в этих товарах в поле UPC указано тоже "123".
      Для связи этих товаров вам необходимо в настройках модуля всего лишь выбрать в поле "Параметр по значению которого искать связанные товары" = SKU а в поле "Параметр в котором искать совпадение для связи" указать UPC и сохранить настройки модуля.
      Все теперь когда вы зайдете на карточку товара ТЕСТ1  вы увидите товары главное изображение товаров ТЕСТ2 и ТЕСТ3 в разделе опций.
      При клике по одной из изображений связанного товара Главное изображение товара на странице, будет заменено на выбранное и отобразятся опции выбранного товара.
      В результате клиент может выбрать опцию и купить нужный связанный товар.
       
       
      Модуль не перезатерает ни одного файла. 
      Быстрая установка через Административную панель.
       
      Добавлена адаптация под шаблон Next Default
       
      Адаптация, правки вида модуля и другие работы на не стандартном шаблоне делаются за отдельную плату.
       
      Системные/технические требования:
      Протестировано на следующих версиях : 
      ocstore 2.3* opencart 2.3*  
       
       
       
      Установка:
       Скачайте архив с модулем.   Зайдите в административную панель сайта в раздел "Дополнения/Установка дополнений" и установите модуль  Зайдите в раздел "Дополнения/Менеджер дополнений" и обновите кеш  Зайдите в раздел "Дополнения/Дополнения/Модули" Установите модуль "SM Связанные товары + опции"  Зайдите в редактирование модуля и активируйте модуль переведя опцию "Статус" в позицию "Включен.              Сохраните настройки  
       
      ДЕМО
      Страница товара с опциями (кнопка купить будет подменена только если выбрать опцию количество которой <=0)
      login/pass - demo/demo
       
      Условия использования:
      Лицензия на модуль выдается на следующих условиях:
      1 покупка = 1 доменное имя.
      То есть - один раз купив, вы получаете поддержку  только на одно доменном имени, одном магазине!
       
      Приобретая  дополнение, Вы автоматически соглашаетесь со следующими положениями:
       
       
      Дополнительные лицензии вы можете получить купив модуль на сайте http://myopencart.club/
      На 4-ю и более покупку действует скидка. 
      Вопросы, пожелания можно писать в форум или на почту support@myopencart.club
       
      Добавил Serg9988 Добавлено 07.06.2018 Категория Модули Системные требования Сайт разработчика myopemcart.com.ua Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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