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

Не отображаются опции на категории

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

Добавил опции на категории. Добавил в контроллер category.php таким способом:

$product_options = array();
                foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) {
                if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox') {
                $option_value_data = array();

                foreach ($option['option_value'] as $option_value) {
                if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
                $option_value_data[] = array(
                'product_option_value_id' => $option_value['product_option_value_id'],
                'option_value_id'         => $option_value['option_value_id'],
                'name'                    => $option_value['name'],
                'price'                   => (float)$option_value['price'] ? $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))) : false,
                'price_prefix'            => $option_value['price_prefix']
                );
                }
                }

                $product_options[] = array(
                'product_option_id' => $option['product_option_id'],
                'option_id'         => $option['option_id'],
                'name'              => $option['name'],
                'type'              => $option['type'],
                'option_value'      => $option_value_data,
                'required'          => $option['required']
                );
                } elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') {
                $product_options[] = array(
                'product_option_id' => $option['product_option_id'],
                'option_id'         => $option['option_id'],
                'name'              => $option['name'],
                'type'              => $option['type'],
                'option_value'      => $option['option_value'],
                'required'          => $option['required']
                );
                }
                }

                $this->data['products'][] = array(
                'product_id'  => $result['product_id'],
                'thumb'       => $image,
                'name'        => $result['name'],
                'model'       => $result['model'],
                'options'   => $product_options,
                'description' => $descr_plaintext,
                'price'       => $price,
                'special'     => $special,
                'tax'         => $tax,
                'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
                );

И во вьюхе скопировал как на продукте отображение опций. И получается так, что сами опции добавились и когда загружаются они отображаются, а потом мгновенно скрываются и нигде не показываются. Если открыть исходный код страницы  - http://tuktuk.ua/korobochka/lapsha там все отображаются. Кто может помочь и подсказать почему так происходит? Может быть такое из-за vqmod модуля? Опенкарт стоит версии 1.5.5.1.1.

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


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

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

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

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

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

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

Войти

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

Войти

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

    • От maiki
      Привет!
      Как можно вывести опции Размер в категории для товаров? ЧТобы было видно доступные размеры
    • От afagorn
      Нашел тему на форуме, где указано решение этой проблемы для версии 1.5. Попробывал применить для версии 2, но выходит ошибка
      Если делать все как написано в этой теме, то получается такой измененый код в category.php
       
      //кусок кода, который вытащил из product.php $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false)); } else { $price = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] ); } } $data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'product_option_value' => $product_option_value_data, 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'value' => $option['value'], 'required' => $option['required'] ); }//конец куска кода //Код из темы на форуме $options = $this->model_catalog_product->getProductOptions($result['product_id']); $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), // добавляем атрибуты 'price' => $price, 'options' => $options, 'special' => $special, //Код из темы на форуме 'tax' => $tax, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } И вот такие ошибки вылезают
       
      Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 263 Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 263 Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 263 Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 263 Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 263 Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 263 Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 263 Если код из product.php запихнуть под массив
       
      //Код из темы на форуме $options = $this->model_catalog_product->getProductOptions($result['product_id']); $data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), // добавляем атрибуты 'price' => $price, 'options' => $options, 'special' => $special, //Код из темы на форуме 'tax' => $tax, 'rating' => $result['rating'], 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) ); } //кусок кода, который вытащил из product.php $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false)); } else { $price = false; } $product_option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] ); } } $data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'product_option_value' => $product_option_value_data, 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'value' => $option['value'], 'required' => $option['required'] ); }//конец куска кода То получается только вот такая ошибка
       
      Notice: Undefined index: product_id in /var/www/u0079664/public_html/burzhuy.org/vqmod/vqcache/vq2-catalog_controller_product_category.php on line 283 В category.tpl  у меня такой код
       
      <?php if ($options) { ?> <hr> <h3><?php echo $text_option; ?></h3> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'radio') { ?> <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"> <input type="radio" id="radio<?php echo $option_value['product_option_value_id']; ?>" value="<?php echo $option_value['product_option_value_id']; ?>" name="option[<?php echo $option['product_option_id']; ?>]" /> <label for="radio<?php echo $option_value['product_option_value_id']; ?>"><span></span> <?php echo $option_value['name']; ?> </label> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </div> <?php } ?> </div> </div> <?php } ?> <?php } ?> <?php } ?> Как решить эту проблему?
  • Последние посетители   0 пользователей онлайн

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

×

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

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