-
Публикаций
12 -
Зарегистрирован
-
Посещение
Посетители профиля
Блок последних посетителей выключен и не отображается другим пользователям.
Достижения Alexandr15
-
Alexandr15 изменил свой аватар
-
Получить опции товаров в стандартном модуле featured OC3
Alexandr15 ответил в теме пользователя Alexandr15 в Opencart 3.x: Настройка и оптимизация
Спасибо за совет Проверил, массив с опциям пустой: [options] => Array ( ) Если я правильно понимаю это значит, что не срабатывает цикл, только вот, что именно не так, не понятно- 12 ответов
-
- php
- opencart 3x
-
(и ещё 2)
Теги:
-
Получить опции товаров в стандартном модуле featured OC3
Alexandr15 ответил в теме пользователя Alexandr15 в Opencart 3.x: Настройка и оптимизация
Код без доп. модулей: catalog\controller\extension\module\featured.php <?php class ControllerExtensionModuleFeatured extends Controller { public function index($setting) { $this->load->language('extension/module/featured'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['products'] = array(); if (!$setting['limit']) { $setting['limit'] = 4; } if (!empty($setting['product'])) { $products = array_slice($setting['product'], 0, (int)$setting['limit']); foreach ($products as $product_id) { $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { if ($product_info['image']) { $image = $this->model_tool_image->resize($product_info['image'], $setting['width'], $setting['height']); } else { $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']); } if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); } else { $price = false; } if ((float)$product_info['special']) { $special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price'], $this->session->data['currency']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = $product_info['rating']; } else { $rating = false; } $options = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if($option['required']){ $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $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), 'quantity' => $option_value['quantity'], 'price_prefix' => $option_value['price_prefix'] ); } } $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'] ); } } $data['products'][] = array( 'product_id' => $product_info['product_id'], 'thumb' => $image, 'name' => $product_info['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $rating, 'options' => $options, 'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']) ); } } } if ($data['products']) { return $this->load->view('extension/module/featured', $data); } } } Подскажите пожалуйста, что нужно исправить, добавить в данном коде чтобы вывести опции в модуле Рекомендуемые ?- 12 ответов
-
- php
- opencart 3x
-
(и ещё 2)
Теги:
-
Получить опции товаров в стандартном модуле featured OC3
Alexandr15 ответил в теме пользователя Alexandr15 в Opencart 3.x: Настройка и оптимизация
Вы правы не заметил когда делал пост, добавил случайно modification Сам код прописывал по пути: catalog\controller\extension\module\featured.php Естественно после обновлял модификаторы и кэш чистил- 12 ответов
-
- php
- opencart 3x
-
(и ещё 2)
Теги:
-
Получить опции товаров в стандартном модуле featured OC3
Alexandr15 ответил в теме пользователя Alexandr15 в Opencart 3.x: Настройка и оптимизация
а это что за дичь такая ? 'quantity' => $result['quantity'], 'quantity' => $product_info['quantity'], 'quantity' => isset($result['quantity']) ? $result['quantity'] : (isset($product_info['quantity']) ? $product_info['quantity'] : 1), Извиняюсь это может быть часть кода от другого модуля, чуть позже выложу код без доп. изменений- 12 ответов
-
- php
- opencart 3x
-
(и ещё 2)
Теги:
-
Получить опции товаров в стандартном модуле featured OC3
Alexandr15 ответил в теме пользователя Alexandr15 в Opencart 3.x: Настройка и оптимизация
Модификаторы обновлял и кэш чистил. Шаблон выбран стандартный его и редактировал. Не сработало именно для данного модуля т е опции не выводятся ошибок opencarr не показывает. Пробовал для модуля недавно добавленные там работает и в категориях тоже работает- 12 ответов
-
- php
- opencart 3x
-
(и ещё 2)
Теги:
-
Подскажите пожалуйста как в opencart 3 в стандартном (базовом) модуле featured вывести опции товаров В файл: modification\catalog\controller\extension\module\featured.php добавил код: $options = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if($option['required']){ $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $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), 'quantity' => $option_value['quantity'], 'price_prefix' => $option_value['price_prefix'] ); } } $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'] ); } } Также в $data['products'][] = array( добавил: 'options' => $options, Для вывода в файле: template\extension\module\featured.twig в карточку товара добавил код: {% if product.options %} {% for option in product.options %} {% if option.type == 'radio' %} <div class="groupOptionWrap {% if option.required %} required {% endif %}"> <div id="input-option{{ option.product_option_id }}" class='groupOptionElements'> {% for option_value in option.product_option_value %} {% if option_value.quantity == "0" %} <div class="groupOption groupOptionDisable"> {{ option_value.name }} </div> {% else %} <div class="groupOption"> {{ option_value.name }} </div> {% endif %} {% endfor %} </div> </div> {% endif %} {% endfor %} {% endif %} Но это не сработало, просьба подсказать, если кто знает рабочий вариант Весь код данного модуля: <?php class ControllerExtensionModuleFeatured extends Controller { public function index($setting) { $this->load->language('extension/module/notify_when_available'); $data['text_out_of_stock'] = $this->language->get('text_out_of_stock'); $data['out_of_stock_show'] = $this->config->get('module_notify_when_available_stock'); $data['out_of_stock_notify'] = $this->config->get('module_notify_when_available_notify'); $this->load->language('extension/module/featured'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['products'] = array(); if (!$setting['limit']) { $setting['limit'] = 4; } if (!empty($setting['product'])) { $lang = $this->config->get('config_language_id'); $title = isset($setting['titles']['title'.$lang]) && $setting['titles']['title'.$lang] ? $setting['titles']['title'.$lang] : ''; if (isset($title) && $title) { $data['heading_title'] = $title; } if (isset($setting['shuffle']) && $setting['shuffle']) { shuffle($setting['product']); } $products = array_slice($setting['product'], 0, (int)$setting['limit']); foreach ($products as $product_id) { $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { if ($product_info['image']) { $image = $this->model_tool_image->resize($product_info['image'], $setting['width'], $setting['height']); } else { $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']); } if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); $data['priceInt'] = $this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')); } else { $price = false; } $specialSavings =0; if ((float)$product_info['special']) { $special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); $data['specialInt'] = $this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')); $data['specialSavings'] = round((($data['priceInt']-$data['specialInt'])/$data['priceInt'])*100, 2); $specialSavings = $data['specialSavings']; } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price'], $this->session->data['currency']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = $product_info['rating']; } else { $rating = false; } $options = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { if($option['required']){ $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] >= 0)) { $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), 'quantity' => $option_value['quantity'], 'price_prefix' => $option_value['price_prefix'] ); } } $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'] ); } } $data['products'][] = array( 'product_id' => $product_info['product_id'], 'quantity' => $result['quantity'], 'quantity' => $product_info['quantity'], 'quantity' => isset($result['quantity']) ? $result['quantity'] : (isset($product_info['quantity']) ? $product_info['quantity'] : 1), 'attribute_groups' => $this->model_catalog_product->getProductAttributes($product_info['product_id']), 'thumb' => $image, 'name' => $product_info['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..', 'price' => $price, 'special' => $special, 'specialSavings' => $specialSavings, 'tax' => $tax, 'rating' => $rating, 'options' => $options, 'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']) );
- 12 ответов
-
- php
- opencart 3x
-
(и ещё 2)
Теги:
-
Вывод атрибутов в карточке товара
Alexandr15 ответил в теме пользователя svetnik в Opencart 3.x: Песочница
Спасибо -
Фото товара в письме клиенту OC3x
Alexandr15 ответил в теме пользователя Alexandr15 в Opencart 3.x: Общие вопросы
Спасибо -
Фото товара в письме клиенту OC3x
Alexandr15 ответил в теме пользователя Alexandr15 в Opencart 3.x: Общие вопросы
Спасибо -
Добрый день! Подскажите пожалуйста как добавить фото товара в письме клиенту в OC3x Пробовал в catalog\controller\mail order.php добавить в $data['products'][] = array( 'img' => (!empty($product_info['image']) ? HTTPS_SERVER.'image/'.strip_tags(html_entity_decode($product_info['image'], ENT_QUOTES, 'UTF-8')) : ''), в файле order.twig для вывода в <img src="{{ product.img }}" /> В итоге фото не выводится в письме путь <img src="https://ci5.googleusercontent.com/proxy/IfnpJ_SVUWOZHsiWL0n7XLNnxcW9Q9_lPvVKtEcK3Stu6fKtTnnJpTmYhoVWxPAjU7ZM-9xe8vzk9bLJfF1TRkH80jEUdAg7zJ0rnsUvgdHfAw=s0-d-e1-ft#http:// далее наименование файла img
-
баг seo pro и корзины , не обновляется корзина
Alexandr15 ответил в теме пользователя rodigy в Opencart 2.x: Настройка и оптимизация
Добрый день! Подскажите пожалуйста, как сделать, чтобы страница корзины при удалении товара не перезагружалась? -
Alexandr15 зарегистрировался на сайте
-
Добрый день! Может кто нибудь знает как можно изменить принцип вывода опций в opencart 3 Стандартный принцип вывода опций товара, если опция равна или больше 1 опция выводится, если меньше 1 опция невыводится Изменить требуется так чтобы если значение опции товара равно или больше 1 опция выводится, если меньше 1 опция тоже выводится но неактивна для выбора Нужно это для того чтобы пользователь при просмотре размеров товара видел какие размеры есть у товара т.к. при стандартном выводе пользователь видет только те размеры которые есть в наличии Может есть кейс или модуль для решения данной задачи
Останні розширення
-
SP Cool Timer Автор: spectre
-
Все товары магазина Автор: kJlukOo
-
-
Список Заказов PRO Автор: Parallax
-