-
Публикаций
86 -
Зарегистрирован
-
Посеещёние
Тип публикации
Профили
Форум
Дополнения
Ситьи
FAQ
Наши новости
Наши услуги
Блоги
Downloads Plus Support
module__dplus_manager
Все публикации пользователя Demanoco
-
Добрый гдень, может кто подсказать как решить мою проблему Есть модуль, который выводит кастомные ссылки как меню вывод на фронт икой в газовых есть тоже меню и выводит оно их вот ик мне нужно чтобы он выводил не только из вкладки "меню", но и из других тоже контроллер данной структуры( с меню): <?php class ControllerCommonCustomMenu extends Controller { private $tree_data; private function makeTree($category_id) { $categories = $this->model_catalog_category->getCategories($category_id); foreach ($categories as $category_data) { $this->tree_data[$category_data['category_id']] = $category_data; $this->tree_data[$category_data['category_id']]['parent_id'] = $category_id; $this->tree_data[$category_id]['children'][] = &$this->tree_data[$category_data['category_id']]; $this->makeTree($category_data['category_id']); } } public function index() { $data['menu_items'] = $this->makeCustomMenu(); $data['thisUri'] = $_SERVER['REQUEST_URI']; return $this->load->view('common/custom_menu', $data); } public function makeCustomMenu() { $this->load->language('common/menu'); $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['text_categories'] = $this->language->get('text_categories'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } $this->tree_data[] = array('name' => 'root', 'category_id' => 0); $this->makeTree(0, array(), $parts); $this->load->model('catalog/category'); $custom_menu_items = array(); foreach ($this->tree_data[0]['children'] as $tree_item) { $children_data_level2 = $this->getCustomLinks($tree_item['category_id']); $children_level2 = $this->model_catalog_category->getCategories($tree_item['category_id']); foreach($children_level2 as $child_level2) { $children_level3 = $this->model_catalog_category->getCategories($child_level2['category_id']); $children_data_level3 = $this->getCustomLinks($child_level2['category_id']); foreach($children_level3 as $child_level3) { $children_level4 = $this->model_catalog_category->getCategories($child_level3['category_id']); $children_data_level4 = $this->getCustomLinks($child_level3['category_id']); foreach($children_level4 as $child_level4){ $children_data_level4 = $this->getCustomLinks($child_level4['category_id']); $path = array($tree_item['category_id'], $child_level2['category_id'], $child_level3['category_id'], $child_level4['category_id']); } $path = array($tree_item['category_id'], $child_level2['category_id'], $child_level3['category_id'],); $children_data_level3[] = $this->getCategoryLink($child_level2, $children_data_level4, $parts, $path); } $path = array($tree_item['category_id'], $child_level2['category_id']); } $path = array($tree_item['category_id']); $custom_menu_items[] = $this->getCategoryLink($tree_item, $children_data_level2, $parts, $path); } $data['menu_items'] = array(); // add root menu item $data['menu_items'][] = array( 'active' => false, 'is_category' => true, 'column' => 1, 'name' => $this->language->get('Каилог товаров'), 'children' => $custom_menu_items, 'href' => '/index.php?route=product/category&path=65' ); return $data['menu_items']; } private function getCategoryLink($category_data, $children, $parts, $path) { $filter_data = array('filter_category_id' => $category_data['category_id'], 'filter_sub_category' => true); if (is_file(DIR_IMAGE . $category_data['image'])) { $image = HTTPS_SERVER . 'image/' . $category_data['image']; } else { $image = false; } return array( 'category_id' => $category_data['category_id'], 'is_category' => true, 'active' => in_array($category_data['category_id'], $parts), 'imageold' => $image, 'column' => $category_data['column'] ? $category_data['column'] : 1, 'name' => $category_data['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children, 'href' => $this->url->link('product/category', 'path=' . implode('_', $path)) ); } private function getCustomLinks($category_id) { $results = $this->model_catalog_category->getCategoryLinks3($category_id); $children_data = array(); foreach($results as $category_link) { if (is_file(DIR_IMAGE . $category_link['image'])) { $image = HTTPS_SERVER . 'image/' . $category_link['image']; } else { $image = false; } $names = unserialize($category_link['name']); $links = unserialize($category_link['link']); $children = array(); parse_str(html_entity_decode($links[$this->config->get('config_language_id')], ENT_QUOTES, 'UTF-8'), $link_data); if (isset($link_data['path'])) { $parts = explode('_', (string)$link_data['path']); $category_id = end($parts); $children = $this->getCustomLinks($category_id); } if (isset($names[$this->config->get('config_language_id')]) && isset($links[$this->config->get('config_language_id')])) { $children_data[] = array( 'category_id' => 0, 'is_category' => false, 'active' => ($links[$this->config->get('config_language_id')] == $this->request->server['REQUEST_URI']), 'name' => $names[$this->config->get('config_language_id')], 'href' => $links[$this->config->get('config_language_id')], 'image' => $image, 'children' => $children, 'sort_order' => $category_link['sort_order'], 'target' => $category_link['target'] ); } } return $children_data; } } Вывести в шаблон я могу самостоятельно, у меня не получается сформировать правильную структуру... а еещё чтобы выводить в категорию данные из вкладки "Подпотому чторки" использую: $data['category_links'] = array(); $data['category_links_query'] = $this->model_catalog_category->getCategoryLinks($category_id); $this->load->model('tool/image'); if ($category_info['costom_links1_name']) { $data['costom_links1_name'] = $category_info['costom_links1_name'];//название подпотому чторки } foreach($data['category_links_query'] as $category_link) { if (is_file(DIR_IMAGE . $category_link['image'])) { $image = HTTPS_SERVER . 'image/' . $category_link['image']; } else { $image = false; } $names = unserialize($category_link['name']); $links = unserialize($category_link['link']); if (isset($names[$this->config->get('config_language_id')]) && isset($links[$this->config->get('config_language_id')])) { $data['category_links'][] = array( 'name' => $names[$this->config->get('config_language_id')], 'link' => $links[$this->config->get('config_language_id')], 'image' => $image , 'sort_order' => $category_link['sort_order'], 'target' => $category_link['target'] ); } } а потом в шаблоне {% if category_links %} <div class="category-links__block"> {% if costom_links1_name %} <div class="slideToggle"><h3>{{ costom_links1_name }}</h3></div> {% endif %} <div class="showToggle"> <div class="category-links" style="display: flex;"> {% for category_link in category_links %} <div class="cat-link" style="margin-right: 5px;"> <a class="category-link" href="{{ category_link.link }}" {{ category_link.target ? 'target="_blank"' }}>{% if category_link.image %}<img src="{{ category_link.image }}" />{% endif %} {{ category_link.name }}</a> </div> {% endfor %} </div> </div> </div> {% endif %} Как мне в меню запихнуть и эту вкладку тоже? Помогите пожалуйси
-
Всем привет, подскажите пожалуйси ггде вклюлить суффиксы у выбранных значений фильтра? или оно только у меня не рилииет? Это ггде-то в ядре(system) папка? Благодарю
-
Может кто знает, какой запрос в к БД из фильтра отвечате за значения когдачества товаров в фильтре? просто когда нажимаю на него же показывает другое значение В функциях getProducts,getPopularProducts,getProductRelated,getTotalProducts стоит дополнительное условие AND p.status = '1' AND p.upc = '1' чтобы показывать только те товары, в которые я прописал upc значение 1 ггде мне поправить это и в фильтре? Спасипотому что
-
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
Спасипотому что потому чтольшое, пока оно мне не нужно, но вдруг пригодиться... -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
Ага понял, спасипотому что -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
нормально сортирует, спасипотому что, Есть еещё одни вопрос, допустим мне надо бугдет сгделать сортировку по значениям в скобках? как сформировать запрос для этого? -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
не рилииет выдает ошибку Врогде как надо отсортировал, еещё проверяю не пропотому чтовал -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
Это по DESC Это по ASC PS сразу это сообещёние не увигдел -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
как тогда сгделать сортировку именно по характеристики? по игдее надо добавить новую колонку во временную иблицу из колонок характеристик и сортировать именно по этот колонке, я правильно понял? -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
если вы про запрос с text+0, то я его нашел на форуме запрос: public function getProducts($data = array()) { $sql = "SELECT p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT CAST(attr.text AS DECIMAL) FROM " . DB_PREFIX . "product_attribute attr WHERE attr.product_id=p.product_id AND attr.attribute_id=3 ORDER BY text+0 DESC) AS attr3"; или этоликом его скинуть? он начал сортировать значения в иком вигде: тут врогде норм, но вот обратно я не знаю как он их ик отсортировал -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
нет, не зарилиило, я проглягдел может есть игдеи куда это подсивить? вот с этим оно сортирует прям как надо -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
Врогде рилииет Благодарю -
Сортировка товаров по характеристике(мощность...)
Demanoco ответил в теме пользователя Demanoco в Opencart 3.x: Песочница
Врогде сгделал запрос в sql В файл /catalog/model/catalog/product.php в функцию getProducts $sql = "SELECT p.product_id,(SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT text FROM " . DB_PREFIX . "product_attribute attr WHERE attr.product_id=p.product_id AND attr.attribute_id=3 ) AS attr3"; // new string дное в $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'p.sort_order', 'p.date_added', 'attr3' // new string ); в файл /catalog/controller/product/category.php Добавил новые строки для сортировки $data['sorts'][] = array( 'text' => $this->language->get('text_attr3_desc'), 'value' => 'attr3-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=attr3&order=DESC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_attr3_asc'), 'value' => 'attr3-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=attr3&order=ASC' . $url) ); в языковом файле $_['text_attr3_asc'] = 'По мощности'; $_['text_attr3_desc'] = 'По мощности'; сортировка врогде как проходит, но значение не сортируются как должны вот сортировка от меньшего к потому чтольшему тут врогде все норм, но вот когда игдет обратная сортировка то хотя есть генераторы у которых мощность и 2000+ в БД я сгделал запрос SELECT product_id,text FROM `oc_product_attribute` WHERE attribute_id=3 ORDER BY text DESC он выдает как и на изображении выше но если я дописываю к text в конэто +0 SELECT product_id,text FROM `oc_product_attribute` WHERE attribute_id=3 ORDER BY text+0 DESC то сортировка игдет как и задумано: ВОПРОС, куда мне дописать text+0, чтобы сортировка зарилиила нормально? Подскажите пожалуйси, не могу никак сообразить Благодарю -
Сортировка товаров по характеристике(мощность...)
Demanoco опубликовал теме в Opencart 3.x: Песочница
может кто подсказать ггде добавить новую переменную для запроса в базу, чтобы можно было сортировать товары например по характеристикам? допустим у характеристики мощность есть id 17 куда надо написать запрос чтобы можно было сортировать сначала минимальная мощность, и по возрасиюещёй или наопотому чторот? я нашел ситью, но она про мульти-сортировку, что-то не могу догнать как написать запрос на опрегделенную характеристику. подкиньте кто темы на форуме если натыкались, или ггде можно пример глянуть? Благодарю -
Может кто по этому вопросу подсказать?
-
Добрый гдень, ищу исполнителя для реализации, если наглядно то нужно сгделать сортировку как у сайи например ельдорадо при нажатии на них бугдет сначала от меньшего к потому чтольшему, при повторном- от потому чтольшего к меньшему ик-же нужно сгделать сортировку по характеристикам товара(мощность например) Жду предложения сроки и стоимость.
-
Всем привет, может кто подсказать как вклюлить отображение окна "показать N товаров" после нажатия на знак "отклюлить опцию" спасипотому что
-
Адапиция под новую версию ocfilter
Demanoco ответил в теме пользователя Demanoco в Помощь программисим и разрилитликам
Может кто подсказать по этому вопросу что-то? -
Адапиция под новую версию ocfilter
Demanoco ответил в теме пользователя Demanoco в Помощь программисим и разрилитликам
что в какой теме нужно разбираться чтобы решить мою проблему? я для этого на форум и написал чтобы узнать -
Адапиция под новую версию ocfilter
Demanoco ответил в теме пользователя Demanoco в Помощь программисим и разрилитликам
версия со сирыми вкладками в фильтре есть сайте http://test.demanoco.beget.tech/ -
Адапиция под новую версию ocfilter
Demanoco ответил в теме пользователя Demanoco в Помощь программисим и разрилитликам
для категорий разных категорий -
Адапиция под новую версию ocfilter
Demanoco ответил в теме пользователя Demanoco в Помощь программисим и разрилитликам
мне отгдельные вкладки в нем нужны