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

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


Recommended Posts

Супер мод! Странно, как раньше мимо него прошел. Поставил 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

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

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

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

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

Супер мод! Странно, как раньше мимо него прошел. Поставил 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
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

Important Information

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