olorin Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 Доброго времени суток. Есть категории товаров(по стандарту это список в левой колонке). В админке при создании категорий товаров можно присвоить изображение категории, которое будет отображаться на странице категорий. И теперь вопрос - что нужно сделать чтобы изображение категории отображались именно в списке категорий? Пример на скрине. Заранее благодарен Надіслати Поділитися на інших сайтах More sharing options...
Shureg Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 Не совсем понял вопрос, но подозреваю, что вам надо это или ищите "стена категорий" "витрина категорий" Надіслати Поділитися на інших сайтах More sharing options...
SiteMix Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 Нет, тут, наверное, о другом речь. Это похоже на мегаменю, типа как в Shop-Store. Надіслати Поділитися на інших сайтах More sharing options...
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 8 часов назад, Shureg сказал: Не совсем понял вопрос, но подозреваю, что вам надо это или ищите "стена категорий" "витрина категорий" Да примерно такое, только без вывода подкатегорий при ховере. По сути мне нужна только картинка каждой из категорий. Попробовал взять код с карточки товара а именно этот: <?php if ($thumb) { ?> <div class="col-sm-2"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" title="<?php echo $heading_title; ?>" class="img-thumbnail" /></div> <?php } ?> Но я не знаю как именно настроить контроллер правильно. Когда вставил вот такая вот ошибка: Notice: Undefined variable: thumb in /home/blesktru/fof.com.ua/avto/catalog/view/theme/default/template/extension/module/category.tpl on line 17. Я попробовал взять код из category.php в папке product и вставить в category.php в папке module. но, либо что то не то вставил, либо это вообще не таким образом делается. Надіслати Поділитися на інших сайтах More sharing options...
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 7 часов назад, SiteMix сказал: Нет, тут, наверное, о другом речь. Это похоже на мегаменю, типа как в Shop-Store. Нет, это примерно то же что мне нужно) По сути это тот же обычный список категорий только с картинкой и строкой а не списком идет(display: flex) Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 (змінено) контроллер модуля категорий $data['categories'][] = array( // добавляем изображение 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); в шаблоне выводим <img src="<?php echo $category['image'];?>"> Змінено 16 червня 2017 користувачем fanatic Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 52 минуты назад, fanatic сказал: контроллер модуля категорий $data['categories'][] = array( // добавляем изображение 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); в шаблоне выводим <img src="<?php echo $category['image'];?>"> спасибо большое!) но выдало такую ошибку. Я вроде бы всё правилно сделал:Notice: Undefined property: Action::$model_tool_image in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73Fatal error: Call to a member function resize() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73 Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 55 минут назад, fanatic сказал: контроллер модуля категорий $data['categories'][] = array( // добавляем изображение 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); в шаблоне выводим <img src="<?php echo $category['image'];?>"> Может дело в версии? у меня ocStore 2.3.0.2.2 Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 забыл, добавьте в контроллер после $this->load->model('catalog/product'); $this->load->model('tool/image'); Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 16 минут назад, fanatic сказал: забыл, добавьте в контроллер после $this->load->model('catalog/product'); $this->load->model('tool/image'); Добавил, и такая вот беда те же ошибки:Notice: Undefined property: Action::$model_tool_image in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73Fatal error: Call to a member function resize() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73 Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 покажите контроллер полностью Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 45 минут назад, fanatic сказал: покажите контроллер полностью <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } //картинки в категориях // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 (змінено) да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Змінено 16 червня 2017 користувачем fanatic Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 59 минут назад, fanatic сказал: да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Нашел, вот ваш вариант: $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); а вот мой: $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } по сути у меня отсутствует 'image'. Попробовал вставить теперь ошибки на 71й строке а не на 73й:Notice: Undefined property: Action::$load in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71Fatal error: Call to a member function model() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71 вот что на 71й: $this->load->model('catalog/product'); Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это 1 час назад, olorin сказал: // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 1 час назад, fanatic сказал: не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Спасибо огромное!!! помогло!!! Надіслати Поділитися на інших сайтах More sharing options... 1 year later... DeN221084 Опубліковано: 15 лютого 2019 Share Опубліковано: 15 лютого 2019 В 16.06.2017 в 22:37, olorin сказал: <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } На врсии 3.0.2.0. не работает данный код Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Как отобразить изображение категории товаров в списке категорий? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 52 минуты назад, fanatic сказал: контроллер модуля категорий $data['categories'][] = array( // добавляем изображение 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); в шаблоне выводим <img src="<?php echo $category['image'];?>"> спасибо большое!) но выдало такую ошибку. Я вроде бы всё правилно сделал:Notice: Undefined property: Action::$model_tool_image in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73Fatal error: Call to a member function resize() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73 Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options...
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 55 минут назад, fanatic сказал: контроллер модуля категорий $data['categories'][] = array( // добавляем изображение 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); в шаблоне выводим <img src="<?php echo $category['image'];?>"> Может дело в версии? у меня ocStore 2.3.0.2.2 Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 забыл, добавьте в контроллер после $this->load->model('catalog/product'); $this->load->model('tool/image'); Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 16 минут назад, fanatic сказал: забыл, добавьте в контроллер после $this->load->model('catalog/product'); $this->load->model('tool/image'); Добавил, и такая вот беда те же ошибки:Notice: Undefined property: Action::$model_tool_image in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73Fatal error: Call to a member function resize() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73 Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 покажите контроллер полностью Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 45 минут назад, fanatic сказал: покажите контроллер полностью <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } //картинки в категориях // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 (змінено) да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Змінено 16 червня 2017 користувачем fanatic Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 59 минут назад, fanatic сказал: да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Нашел, вот ваш вариант: $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); а вот мой: $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } по сути у меня отсутствует 'image'. Попробовал вставить теперь ошибки на 71й строке а не на 73й:Notice: Undefined property: Action::$load in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71Fatal error: Call to a member function model() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71 вот что на 71й: $this->load->model('catalog/product'); Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это 1 час назад, olorin сказал: // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 1 час назад, fanatic сказал: не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Спасибо огромное!!! помогло!!! Надіслати Поділитися на інших сайтах More sharing options... 1 year later... DeN221084 Опубліковано: 15 лютого 2019 Share Опубліковано: 15 лютого 2019 В 16.06.2017 в 22:37, olorin сказал: <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } На врсии 3.0.2.0. не работает данный код Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Как отобразить изображение категории товаров в списке категорий? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 16 минут назад, fanatic сказал: забыл, добавьте в контроллер после $this->load->model('catalog/product'); $this->load->model('tool/image'); Добавил, и такая вот беда те же ошибки:Notice: Undefined property: Action::$model_tool_image in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73Fatal error: Call to a member function resize() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 73 Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 покажите контроллер полностью Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 45 минут назад, fanatic сказал: покажите контроллер полностью <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } //картинки в категориях // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 (змінено) да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Змінено 16 червня 2017 користувачем fanatic Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 59 минут назад, fanatic сказал: да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Нашел, вот ваш вариант: $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); а вот мой: $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } по сути у меня отсутствует 'image'. Попробовал вставить теперь ошибки на 71й строке а не на 73й:Notice: Undefined property: Action::$load in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71Fatal error: Call to a member function model() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71 вот что на 71й: $this->load->model('catalog/product'); Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это 1 час назад, olorin сказал: // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 1 час назад, fanatic сказал: не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Спасибо огромное!!! помогло!!! Надіслати Поділитися на інших сайтах More sharing options... 1 year later... DeN221084 Опубліковано: 15 лютого 2019 Share Опубліковано: 15 лютого 2019 В 16.06.2017 в 22:37, olorin сказал: <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } На врсии 3.0.2.0. не работает данный код Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання Как отобразить изображение категории товаров в списке категорий?
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 45 минут назад, fanatic сказал: покажите контроллер полностью <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } //картинки в категориях // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 (змінено) да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Змінено 16 червня 2017 користувачем fanatic Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 59 минут назад, fanatic сказал: да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Нашел, вот ваш вариант: $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); а вот мой: $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } по сути у меня отсутствует 'image'. Попробовал вставить теперь ошибки на 71й строке а не на 73й:Notice: Undefined property: Action::$load in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71Fatal error: Call to a member function model() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71 вот что на 71й: $this->load->model('catalog/product'); Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это 1 час назад, olorin сказал: // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 1 час назад, fanatic сказал: не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Спасибо огромное!!! помогло!!! Надіслати Поділитися на інших сайтах More sharing options... 1 year later... DeN221084 Опубліковано: 15 лютого 2019 Share Опубліковано: 15 лютого 2019 В 16.06.2017 в 22:37, olorin сказал: <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } На врсии 3.0.2.0. не работает данный код Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 (змінено) 59 минут назад, fanatic сказал: да, тяжелый случай. <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } найдите отличия Нашел, вот ваш вариант: $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); а вот мой: $data['categories'][] = array( 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } по сути у меня отсутствует 'image'. Попробовал вставить теперь ошибки на 71й строке а не на 73й:Notice: Undefined property: Action::$load in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71Fatal error: Call to a member function model() on a non-object in /home/blesktru/fof.com.ua/avto/catalog/controller/extension/module/category.php on line 71 вот что на 71й: $this->load->model('catalog/product'); Змінено 16 червня 2017 користувачем olorin Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 16 червня 2017 Share Опубліковано: 16 червня 2017 не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это 1 час назад, olorin сказал: // $this->load->model('catalog/product'); // $this->load->model('tool/image'); // $data['categories'][] = array( // 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), // 'category_id' => $category['category_id'], // 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), // 'children' => $children_data, // 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) // ); нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Надіслати Поділитися на інших сайтах More sharing options... olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 1 час назад, fanatic сказал: не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Спасибо огромное!!! помогло!!! Надіслати Поділитися на інших сайтах More sharing options... 1 year later... DeN221084 Опубліковано: 15 лютого 2019 Share Опубліковано: 15 лютого 2019 В 16.06.2017 в 22:37, olorin сказал: <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } На врсии 3.0.2.0. не работает данный код Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
olorin Опубліковано: 16 червня 2017 Автор Share Опубліковано: 16 червня 2017 1 час назад, fanatic сказал: не морочьте голову. в последнем моем сообщении уже готовый файл с изменениями. не нужно лепить в свой контроллер это нужно просто добавить после $data['categories'][] = array( следующее 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), а после $this->load->model('catalog/product'); это $this->load->model('tool/image'); Спасибо огромное!!! помогло!!! Надіслати Поділитися на інших сайтах More sharing options...
DeN221084 Опубліковано: 15 лютого 2019 Share Опубліковано: 15 лютого 2019 В 16.06.2017 в 22:37, olorin сказал: <?php class ControllerExtensionModuleCategory extends Controller { public function index() { $this->load->language('extension/module/category'); $data['heading_title'] = $this->language->get('heading_title'); if (isset($this->request->get['path'])) { $parts = explode('_', (string)$this->request->get['path']); } else { $parts = array(); } if (isset($parts[0])) { $data['category_id'] = $parts[0]; } else { $data['category_id'] = 0; } if (isset($parts[1])) { $data['child_id'] = $parts[1]; } else { $data['child_id'] = 0; } $this->load->model('catalog/category'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $children_data = array(); if ($category['category_id'] == $data['category_id']) { $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( 'category_id' => $child['category_id'], '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']) ); } } $filter_data = array( 'filter_category_id' => $category['category_id'], 'filter_sub_category' => true ); $data['categories'][] = array( 'image' => $this->model_tool_image->resize($category['image'], $this->config->get($this->config->get('config_theme') . '_image_category_width'), $this->config->get($this->config->get('config_theme') . '_image_category_height')), 'category_id' => $category['category_id'], 'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'children' => $children_data, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } return $this->load->view('extension/module/category', $data); } } На врсии 3.0.2.0. не работает данный код Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts