[Помогите] Опции в шаблоне PORTO

Тема в разделе "OpenCart", создана пользователем maetus, 29 сен 2018.

  1. maetus

    maetus

    Регистрация:
    24 фев 2013
    Сообщения:
    241
    Симпатии:
    60
    сам шаблон находиться здесь:

    в данном шаблоне реализован вывод красивый вывод опций ( цвет)

    [​IMG]


    но дело в том что данная опция выводиться через опции -> изображение (которые в сборки ocStore 2.3.0.2.3 - нет)

    [​IMG]

    Я попытался её добавить и правил вот эти файлы
    admin/controller/catalog/option.php
    ДО
    PHP:
    $data['text_checkbox'] = $this->language->get('text_checkbox');
    $data['text_input'] = $this->language->get('text_input');
    После
    PHP:
    $data['text_checkbox'] = $this->language->get('text_checkbox');
    $data['text_image'] = $this->language->get('text_image');
    $data['text_input'] = $this->language->get('text_input');
    admin/view/template/catalog/option_form.tpl
    ДО
    PHP:
    <?php if ($type == 'checkbox') { ?>
    <option value="checkbox" selected="selected"><?php echo $text_checkbox?></option>
    <?php } else { ?>
    <option value="checkbox"><?php echo $text_checkbox?></option>
    <?php ?>
    ПОСЛЕ этого куска кода вставить
    PHP:
    <?php if ($type == 'image') { ?>
    <option value="image" selected="selected"><?php echo $text_image?></option>
    <?php } else { ?>
    <option value="image"><?php echo $text_image?></option>
    <?php ?>
    в самой карточке товара все выводиться красиво, но загвоздка в том что если есть опции с ценой +5, +15 или +25 при выборе в карточке товара все меняется, НО при добавлении в корзину цена не меняется и не подгружается выбранный цвет и цена

    в карточке товара на сколько я понял отвечает за вывод вот этот код
    PHP:
    ?php if ($option['type'] == 'image') { ?>
                        <div class="form-group<?php echo ($option['required'] ? ' required' ''); ?>">
                          <label class="control-label"><?php echo $option['name']; ?></label>
                          <div id="input-option<?php echo $option['product_option_id']; ?>">
                            <?php foreach ($option['product_option_value'] as $option_value) { ?>
                            <div class="radio <?php if($theme_options->get'product_page_radio_style' ) == 1) { echo 'radio-type-button'; } ?>">
                              <label>
                                <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
                                <span <?php if($theme_options->get'product_page_radio_style' ) == 1) { ?>data-toggle="tooltip" data-placement="top" title="<?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?>(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)<?php ?>"<?php ?>><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' $option_value['price_prefix'] . $option_value['price'] : ''); ?><?php if($theme_options->get'product_page_radio_style' ) == 1) { ?>width="<?php if($theme_options->get'product_page_radio_image_width' ) > 0) { echo $theme_options->get'product_page_radio_image_width' ); } else { echo 25; } ?>px" height="<?php if($theme_options->get'product_page_radio_image_height' ) > 0) { echo $theme_options->get'product_page_radio_image_height' ); } else { echo 25; } ?>px"<?php ?> /> <?php if($theme_options->get'product_page_radio_style' ) != 1) { ?><?php echo $option_value['name']; ?>
                                <?php if ($option_value['price']) { ?>
                                (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                                <?php ?><?php ?></span>
                              </label>
                            </div>
                            <?php ?>
                            <?php if($theme_options->get'product_page_radio_style' ) == 1) { ?>
                            <script type="text/javascript">
                                 $(document).ready(function(){
                                      $('#input-option<?php echo $option['product_option_id']; ?>').on('click', 'span', function () {
                                           $('#input-option<?php echo $option['product_option_id']; ?> span').removeClass("active");
                                           $(this).addClass("active");
                                      });
                                 });
                            </script>
                            <?php ?>
                          </div>
                        </div>
                        <?php ?>
    может кто то сталкивался с таким или знает как решить данную проблему - подскажите пожалуйста
     
    Lasted edited by : 30 сен 2018
  2. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Его нет так как радио и есть картинка)))
     
  3. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    Предполагаю, что нужно добавить в класс корзины, который расположен по адресу: system/library/cart.php - данные по доп. опции, что бы там учитывало аргумены и плюсовало к общей стоимости, тоесть глянуть где есть проверка на тип опции и добавить туда же "image"
     
  4. maetus

    maetus

    Регистрация:
    24 фев 2013
    Сообщения:
    241
    Симпатии:
    60
    Добавил - но ничего не произошло - все поп прежнему не рабртает