Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Alexandr15

Новичок
  
  • 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.