Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Alexandr15

Newbie
  
  • Posts

    12
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Alexandr15's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. Спасибо за совет Проверил, массив с опциям пустой: [options] => Array ( ) Если я правильно понимаю это значит, что не срабатывает цикл, только вот, что именно не так, не понятно
  2. Код без доп. модулей: 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); } } } Подскажите пожалуйста, что нужно исправить, добавить в данном коде чтобы вывести опции в модуле Рекомендуемые ?
  3. Вы правы не заметил когда делал пост, добавил случайно modification Сам код прописывал по пути: catalog\controller\extension\module\featured.php Естественно после обновлял модификаторы и кэш чистил
  4. а это что за дичь такая ? 'quantity' => $result['quantity'], 'quantity' => $product_info['quantity'], 'quantity' => isset($result['quantity']) ? $result['quantity'] : (isset($product_info['quantity']) ? $product_info['quantity'] : 1), Извиняюсь это может быть часть кода от другого модуля, чуть позже выложу код без доп. изменений
  5. Модификаторы обновлял и кэш чистил. Шаблон выбран стандартный его и редактировал. Не сработало именно для данного модуля т е опции не выводятся ошибок opencarr не показывает. Пробовал для модуля недавно добавленные там работает и в категориях тоже работает
  6. Подскажите пожалуйста как в 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']) );
  7. Добрый день! Подскажите пожалуйста как добавить фото товара в письме клиенту в 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
  8. Добрый день! Подскажите пожалуйста, как сделать, чтобы страница корзины при удалении товара не перезагружалась?
  9. Добрый день! Может кто нибудь знает как можно изменить принцип вывода опций в opencart 3 Стандартный принцип вывода опций товара, если опция равна или больше 1 опция выводится, если меньше 1 опция невыводится Изменить требуется так чтобы если значение опции товара равно или больше 1 опция выводится, если меньше 1 опция тоже выводится но неактивна для выбора Нужно это для того чтобы пользователь при просмотре размеров товара видел какие размеры есть у товара т.к. при стандартном выводе пользователь видет только те размеры которые есть в наличии Может есть кейс или модуль для решения данной задачи
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.