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

AlexMax13

Users
  
  • Posts

    755
  • Joined

  • Last visited

Everything posted by AlexMax13

  1. это да, но не забываем еще кроме контроллера, внести данные в модель продукта: /catalog/model/catalog/product.php и после строки: 'stock_status' => $query->row['stock_status'], добавить: 'stock_status_id' => $query->row['stock_status_id'],
  2. спасибо, то что надо)) а как можно убрать промежуточные по шагу вперед/назад? https://prnt.sc/GpVIc24ZOY51 по стилю к ним никак не подкопаться(( https://prnt.sc/e8gCuYP7lszr
  3. подскажите где заменить вот эти символы https://prnt.sc/HQyWBePmKN10
  4. контроллер (как пример, модуль вывода последних добавленных статей) /controller/extension/module/blog_latest.php твиг /catalog/view/theme/default/template/extension/module/blog_latest.twig модель: model/blog/category.php в админ панели значение записывается в main_blog_category_id https://prnt.sc/2o38MtnbMkU4
  5. как вывести название и ссылку на категорию в которую входит статья https://prnt.sc/7m-Nuru-iDB- в стандартном модуле блога от окстор 3.0.2.0, например на странице блога https://prnt.sc/fjPCV0Qc2z7t
  6. подскажите пожалуйста как вывести (например в модуле html) ид модуля. что то на подобии такого: $data['sid'] = $setting['module_id']; не работает. поэтому я добавляю скрытое поле в настройки самого модуля куда и записываю id. но это костыльно... как можно побороть эту проблему раз и навсегда? спасибо.
  7. на удивление с кодом все ок, вся конструкция в норме. проблема оказалась в том что забыл в контроллер добавить это: 'minimum' => $result['minimum'],
  8. вывожу товары определенных категорий на главной (мобильные, пк, ноутбуки и т.д.) потребовалось добавить одну из опций к мини карточкам товаров на главной - все ок, но только тогда когда добавляю больше одного модуля с товарами (и они повторяются в одном и втором блоке) - проблема с добавлением. пишет что добавлено в корзину но по факту нет. как только убираю второй блок с товарами (например оставляю блок телефоны) - все ок. добавил отдельную функцию добавления в корзину add2, в которой прописываю даже id модуля (для уникальности, чтобы добавлялся товар из конкретного модуля). Потому что если этого не делать, выбрать товар из модуля Смартфоны, а он есть и модуле Телефоны, тогда возникает конфликт. В общем хочу чтобы добавляло товар из конкретного блока (модуля). Видимо нужно просто поправить функцию в js, но никак не вкурю что не так сделал... твиг: контроллер: новая функция в common.js
  9. да, вы правы. но я изначально добавил отельную функцию в модель и изменил название функции в контроллере, чтобы не было конфликтов. но вариант от buslikdrev вообще идеален)
  10. спасибо, то что надо. сделал так и без лишних правок: $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { if ($category['top']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { if ($child['top']) { $filter_data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ); } } // Level 1 $data['categories'][] = array( 'sid' => $category['category_id'], 'name' => $category['name'], 'children' => $children_data, 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } }
  11. в стандартном оксторе 3.0.2.0 есть вывод выбранных категорий в шапке, но у меня какой то треш. вне зависимости что я отметил тут https://prnt.sc/mWLQzpr3-3r6 выводит сразу все категории. в бд все ок https://prnt.sc/q6HLrd2leXTf но на сайте выводит все категории игнорируя отмеченный пункт для топа https://prnt.sc/Wcy11Rp61sQ9 выяснил что для сайта всегда топ выводит значение 1 при любом раскладе. контроллер: $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { if ($category['top']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { $filter_data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ); } // Level 1 $data['categories'][] = array( 'sid' => $category['category_id'], 'name' => $category['name'], 'children' => $children_data, 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } } твиг: {% if categories %} {% for category in categories %} {% if category.children %} {% if category.sid == 59 %} <a href="{{ category.href }}" class="gl_cat"><span><img src="/image/catalog/icons/katalog.svg"> {{ category.name }}</span></a> {% else %} <a href="{{ category.href }}" class="gl_cat"><span>{{ category.name }}</span></a> {% endif %} {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %} {% for child in children %} <a href="{{ child.href }}" class="rod_cat"><span>{{ child.name }}</span></a> {% endfor %} {% endfor %} {% else %} <a href="{{ category.href }}" class="gl_cat"><span>{{ category.name }}</span></a> {% endif %} {% endfor %} {% endif %} модель: public function getCategories($parent_id = 0) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)"); return $query->rows; } проблему решил так: контроллер: $categories = $this->model_catalog_category->get_menu_top(0); foreach ($categories as $category) { if ($category['top']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->get_menu_top($category['category_id']); foreach ($children as $child) { $filter_data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ); } // Level 1 $data['categories'][] = array( 'sid' => $category['category_id'], 'name' => $category['name'], 'children' => $children_data, 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } } модель: public function get_menu_top($parent_id = 0) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' AND c.top = '1' ORDER BY c.sort_order, LCASE(cd.name)"); return $query->rows; } но все же интересно, это баг окстора или что?
  12. хороший вариант предложил один из пользователей сайта
  13. Дуже дякую) те що треба, осталось тільки підігнати під дизайн і перевести з овл каруселі на свайпер)
  14. в стандартном опенкарте есть модуль - новинки / latest но он выводит последние добавленные товары из всех категорий. а как можно сделать, чтобы выводил только из конкретной категории?
  15. модуль когда то назывался - Мой список товаров. Ладно, а остался ли модуль вывода товаров из конкретной категории на главной? например если я хочу вывести несколько последних товаров из рубрики телефоны на главной
  16. здравствуйте. где то был модуль вывода товаров на главной из определенных категорий. пример: https://prnt.sc/LcBbZAMogwRq подскажите пожалуйста название модуля
  17. нашел проблему. $price меняем на $opt_price замена в 3х местах
  18. здравствуйте. добавил опции на страницу каталога. все в принципе ок. но неверно отображается цена опций. твиг: <div class="button-group but_box"> <input type="hidden" name="product_id" value="{{ product.product_id }}"> <input type="hidden" name="quantity" value="{{ product.minimum }}"> <button type="button" class="add_cart" onclick="cart.add2('{{ product.product_id }}');">{{ button_cart }}</button> <span class="dop_but"> <button type="button" data-toggle="tooltip" title="{{ button_compare }}" onclick="compare.add('{{ product.product_id }}');"><img src="/image/catalog/icons/compare.png"></button> <button type="button" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><img src="/image/catalog/icons/like.png"></button> </span> </div> контроллер: $options = array(); foreach ($this->model_catalog_product->getProductOptions($result['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']) { $opt_price = $this->currency->format($this->tax->calculate($option_value['price'], $result['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $opt_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'] ); } } $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'] ); } common.js 'add2': function(product_id) { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('#product'+product_id+' input[type=\'text\'], #product'+product_id+' input[type=\'hidden\'], #product'+product_id+' input[type=\'radio\']:checked, #product'+product_id+' input[type=\'checkbox\']:checked, #product'+product_id+' select, #product'+product_id+' textarea'), dataType: 'json', beforeSend: function() { $('#cart > button').button('loading'); }, complete: function() { $('#cart > button').button('reset'); }, success: function(json) { $('.alert-dismissible, .text-danger').remove(); if (json['redirect']) { location = json['redirect']; } if (json['success']) { $('#content').parent().before('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>'); $('.cart_num').html('<div class="flex3">' + json['total'] + '</div>'); $('html, body').animate({ scrollTop: 0 }, 'slow'); $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }, результат: https://prnt.sc/cy4qOvx4j9yP т.е. вместо цены опции выводит цену товара без скидки.
  19. странно, но ошибка ушла. включил лог ошибок на сервере (он пуст), очистил все модификаторы и все что только возможно. тогда ошибка ушла. но что то явно не так. при очистке лога в админ части - была ошибка первый раз, после все ок. боюсь что явно не так, ведь первый раз на окстор наблюдаю подобные приколы.
  20. перед этим отключал стандартный модуль аккаунт https://prnt.sc/UHVz598yLtON но включил и очистил кэш. пробовал отключать сео юрл - без результатов...
  21. Из за чего не может работать страница сравнения? https://prnt.sc/yd6C3AH-uz8b окстор 3.0.2.0 никакие файлы не тронуты, только включил сео юрл
  22. здравствуйте. когда то давно покупали модуль. отрабатывал как надо. да и сейчас работает. правда при попытке обновления отделений ошибка https://prnt.sc/jpDligWHTLzl версия модуля 3.4.1 окстор 2.3.0.2
    спасибо. у меня был окстор 3.0.2.0 и слетело само собой на упрощенный вид. сейчас все хорошо благодаря вашему модулю))
×
×
  • 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.