CasperJon Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 .добрый день замучился искать подскажите есть ли модуль на подобии стена категорий но который выводит все категории и под категории на главной вот как здесь сделано Пример Как сделать так буду очень признателен или можно как то переделать модуль стена категорий чтобы он отображал все категории на всех уровнях. Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 а почему вы решили что стена категорий не выводит все подкатегории ? Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 А я не решил, я пробовал, вот смотрите если добавить модуль в стене и выбрать rootcategory то отображаются только родительские категории, а под категории не отображаются. Я сперва подумал надо добавить второй модуль и выбрать у него нужную категорию чтобы отображать под категории, но тогда отображаются две стены с под категориями, то есть выбор категории как главной применяется ко всем модулям. А мне надо чтобы на главной иконками отображались все категории включая под категории 2 уровня и 3 уровней. но не выходит. Может в коде надо где подправить. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 так давайте для начала определимся у вас модуль стена категорий для главной или стена категорий для подкатегорий ? в демо http://modules.ocshop.biz/ на главной выводятся картинки родительских категорий и ссылки на подкатегории вы хотите их разгруппировать ? и вывести все сплошным списком картинка+ссылка ? Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Я хочу вывести их таблицей 5 категорий по ширине ну а дальше вниз по 5 до последней без группировки, как на сайте ссылку на который дал, Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Вот так. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 ясно ну так нельзя да и делать такое тоже не буду так как нехочу быть причастным к тому что у покупателей голова слоается :-) вы уж простите за сарказм. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 знаете а вы зря иронизируете, я вот знаю владельца магазина ссылку на который дал вот он совсем недавно применил такое решение и скажу честно что прирост заказов почти 20% тока из-за такого вида категорий на главной так что вы тут неправы. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 ну если вы так считаете то я спорить с вами не намерен ну и тем более отговаривать от такого подхода. когда реализуйте понаблюдайте за поведением пользователей Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если бы я был php программистом то давно бы реализовал, и не искал подобный модуль. Жаль буду ждать может все таки кто-то видел подобное решение. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 посмотрите тут на форуме есть какой то еще модуль с картинками категорий для главной я особо в него не всматривался но может он вам и подойдет Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Вот сделал своими силами, хотя и на php никогда не программировал но уже 15 лет как программирую на Delphi. И хотя у меня на решение проблемы ушло 1 часа. Думаю у любого программиста который уже что то писал под OpenCart или на php ушло бы минут 10 обидно что на форуме OpenCart не осталось людей которые бы могли помочь другим. Поэтому так как я никогда не занимался коммерческим программированием и даже иногда презираю людей которые написали 200 строчек и еще просят за это деньги, в топку их гори они синем пламенем.И так вот кейк если кому то еще нужно отобразить все категории с под категориями на главной. И так берем файл /catalog/controller/module/categoryhome.php Перед функцией protected function getCategories($parent_id, $current_path = '') { Вставляем. protected function getAllCategories($parent_id, $current_path = '') { $categoryhome = array(); $category_id = array_shift($this->path); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories($parent_id); //Получаем список всех родительских категорий. $i=0; //Обнуляем счетчик. foreach ($categories as $category) { //Производим перебор всех найденных категорий $children = $this->model_catalog_category->getCategories($category['category_id']);//Получаем список всех подкатегорий. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; foreach ($children as $child) {//Перебираем все подкатегории. if (!$current_path) { $new_path = $child['category_id']; } else { $new_path = $current_path . '_' . $child['category_id']; } if ($this->category_id == $child['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($child['image']) { $image = $child['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $child['name']; $i++; } } return $categoryhome; } а строку $this->data['categoryhome'] = $this->getCategories($this->config->get('categoryhome_category')); Заменяем $this->data['categoryhome'] = $this->getAllCategories(0); Вот и все.После данного кейка нет смысла в настройках модуля указывать главную категорию, так как в данном случае она не нужна, настройки из админ панели выбора главной категории можно убрать подправив шаблон admin\view\template\module\categoryhome.tpl Помогайте людям безвозмездно, и все равно по иронии судьбы вам воздастся в тысячу раз больше. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Для тех кто хочет чтобы категории отображались в 6 столбцов вот кейк. Открываем файл catalog\view\theme\default\template\module\categoryhome.tpl И заменяем содержимое этим. <div class="middle"> <div class="align"><div class="blocks podrazdel"><?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span><?php } ?></div></div></div> В стилях добавляем вот это. .block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.middle { padding: 20px 40px 0px 40px; text-align: center}.middle .align { margin: 0px auto; text-align: left; width: 920px; position: relative;}.middle .basket_align { text-align: left; position: relative;}/* MAINPAGE STYLE */.middle .main_img { margin: 0px auto 40px auto; width: 900px;}.middle .spisok { background: url('i/slide_bg.png') no-repeat; width: 250px; height: 400px; float: left; overflow: hidden; position: relative; z-index: 5; text-align: left;}.block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.blocks.podrazdel { margin: -15px 0 0px -30px; text-align: center;}.blocks.podrazdel .block { padding: 15px 0 20px 30px;}.blocks.podrazdel .block .width { width: 120px; height: auto; background: none;}.blocks.podrazdel .block .img { text-align: center;}.blocks.podrazdel .block .tovar_info { font-size: 12px !important; font-weight: bold; color: #666; height: auto; text-align: center; padding: 0px !important;} В результате получаем вот это. Теперь можно смело переименовывать модуль под Стена Категорий и под категорий 0.1.2 и продавать за 450 рублей :-D Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если вам надо отображать только под категории то вот этот кусок кода надо удалить. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; А еще если есть желание то в админку можно добавить чекбокс с надписью "Отображать Главные категории" и тогда этот кусок можно поставить под if и можно будет выбирать будет время посмотрю что там да как и сделаю. Если надо изменить размер миниатюр то править нужно здесь resize($image, 110, 110); 110, 110 заменяем на нужный размер миниатюр. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 4 лютого 2014 Автор Share Опубліковано: 4 лютого 2014 если кто может, заметил один минус в стиле, если экран маленький типа телефона то иконки категорий также располагаются в 6 рядов но их не видно, подскажите как исправить так чтобы количество колонок подстраивалось под ширину экрана, то есть если экран маленький то выводить категории в одну колонку если средний то в 3 если большой то в 6, буду очень признателен за помощь. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... fjeka Опубліковано: 9 квітня 2014 Share Опубліковано: 9 квітня 2014 Большое, спасибо. Очень полезная вещь. Заменил в category.tpl блок отображающий подкатегории на этот код <?php if ($categories) { ?> <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categories as $category) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a> </div> <div class="tovar_info"> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> <?php } ?> Получились красивые подкатегории в виде картинок. А можно ли в карточке товара прописать отображение категорий и подкатегорий? Прописал код из примера <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> Но появляются ошибки. Как правильно прописать переменую $categoryhome в product.php ? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 1 відповідь 241 перегляд sasha3337774 23 жовтня Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 0 коментарів 843 перегляди sasha3337774 20 жовтня Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 коментарів 1 679 переглядів IHOR1989 5 квітня [Поддержка] Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 відповідей 267 переглядів IHOR1989 6 квітня Іконки та підказки для характеристик товару Автор: IHOR1989, 9 січня 2022 атрибуты характеристики (і ще 5) Теги: атрибуты характеристики иконки дизайн ключевые характеристики группы характеристик изображения 0 коментарів 8 087 переглядів IHOR1989 9 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Форум Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Иконки всех категорий и под категорий на главной. OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 А я не решил, я пробовал, вот смотрите если добавить модуль в стене и выбрать rootcategory то отображаются только родительские категории, а под категории не отображаются. Я сперва подумал надо добавить второй модуль и выбрать у него нужную категорию чтобы отображать под категории, но тогда отображаются две стены с под категориями, то есть выбор категории как главной применяется ко всем модулям. А мне надо чтобы на главной иконками отображались все категории включая под категории 2 уровня и 3 уровней. но не выходит. Может в коде надо где подправить. Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 так давайте для начала определимся у вас модуль стена категорий для главной или стена категорий для подкатегорий ? в демо http://modules.ocshop.biz/ на главной выводятся картинки родительских категорий и ссылки на подкатегории вы хотите их разгруппировать ? и вывести все сплошным списком картинка+ссылка ? Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Я хочу вывести их таблицей 5 категорий по ширине ну а дальше вниз по 5 до последней без группировки, как на сайте ссылку на который дал, Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Вот так. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 ясно ну так нельзя да и делать такое тоже не буду так как нехочу быть причастным к тому что у покупателей голова слоается :-) вы уж простите за сарказм. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 знаете а вы зря иронизируете, я вот знаю владельца магазина ссылку на который дал вот он совсем недавно применил такое решение и скажу честно что прирост заказов почти 20% тока из-за такого вида категорий на главной так что вы тут неправы. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 ну если вы так считаете то я спорить с вами не намерен ну и тем более отговаривать от такого подхода. когда реализуйте понаблюдайте за поведением пользователей Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если бы я был php программистом то давно бы реализовал, и не искал подобный модуль. Жаль буду ждать может все таки кто-то видел подобное решение. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 посмотрите тут на форуме есть какой то еще модуль с картинками категорий для главной я особо в него не всматривался но может он вам и подойдет Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Вот сделал своими силами, хотя и на php никогда не программировал но уже 15 лет как программирую на Delphi. И хотя у меня на решение проблемы ушло 1 часа. Думаю у любого программиста который уже что то писал под OpenCart или на php ушло бы минут 10 обидно что на форуме OpenCart не осталось людей которые бы могли помочь другим. Поэтому так как я никогда не занимался коммерческим программированием и даже иногда презираю людей которые написали 200 строчек и еще просят за это деньги, в топку их гори они синем пламенем.И так вот кейк если кому то еще нужно отобразить все категории с под категориями на главной. И так берем файл /catalog/controller/module/categoryhome.php Перед функцией protected function getCategories($parent_id, $current_path = '') { Вставляем. protected function getAllCategories($parent_id, $current_path = '') { $categoryhome = array(); $category_id = array_shift($this->path); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories($parent_id); //Получаем список всех родительских категорий. $i=0; //Обнуляем счетчик. foreach ($categories as $category) { //Производим перебор всех найденных категорий $children = $this->model_catalog_category->getCategories($category['category_id']);//Получаем список всех подкатегорий. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; foreach ($children as $child) {//Перебираем все подкатегории. if (!$current_path) { $new_path = $child['category_id']; } else { $new_path = $current_path . '_' . $child['category_id']; } if ($this->category_id == $child['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($child['image']) { $image = $child['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $child['name']; $i++; } } return $categoryhome; } а строку $this->data['categoryhome'] = $this->getCategories($this->config->get('categoryhome_category')); Заменяем $this->data['categoryhome'] = $this->getAllCategories(0); Вот и все.После данного кейка нет смысла в настройках модуля указывать главную категорию, так как в данном случае она не нужна, настройки из админ панели выбора главной категории можно убрать подправив шаблон admin\view\template\module\categoryhome.tpl Помогайте людям безвозмездно, и все равно по иронии судьбы вам воздастся в тысячу раз больше. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Для тех кто хочет чтобы категории отображались в 6 столбцов вот кейк. Открываем файл catalog\view\theme\default\template\module\categoryhome.tpl И заменяем содержимое этим. <div class="middle"> <div class="align"><div class="blocks podrazdel"><?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span><?php } ?></div></div></div> В стилях добавляем вот это. .block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.middle { padding: 20px 40px 0px 40px; text-align: center}.middle .align { margin: 0px auto; text-align: left; width: 920px; position: relative;}.middle .basket_align { text-align: left; position: relative;}/* MAINPAGE STYLE */.middle .main_img { margin: 0px auto 40px auto; width: 900px;}.middle .spisok { background: url('i/slide_bg.png') no-repeat; width: 250px; height: 400px; float: left; overflow: hidden; position: relative; z-index: 5; text-align: left;}.block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.blocks.podrazdel { margin: -15px 0 0px -30px; text-align: center;}.blocks.podrazdel .block { padding: 15px 0 20px 30px;}.blocks.podrazdel .block .width { width: 120px; height: auto; background: none;}.blocks.podrazdel .block .img { text-align: center;}.blocks.podrazdel .block .tovar_info { font-size: 12px !important; font-weight: bold; color: #666; height: auto; text-align: center; padding: 0px !important;} В результате получаем вот это. Теперь можно смело переименовывать модуль под Стена Категорий и под категорий 0.1.2 и продавать за 450 рублей :-D Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если вам надо отображать только под категории то вот этот кусок кода надо удалить. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; А еще если есть желание то в админку можно добавить чекбокс с надписью "Отображать Главные категории" и тогда этот кусок можно поставить под if и можно будет выбирать будет время посмотрю что там да как и сделаю. Если надо изменить размер миниатюр то править нужно здесь resize($image, 110, 110); 110, 110 заменяем на нужный размер миниатюр. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 4 лютого 2014 Автор Share Опубліковано: 4 лютого 2014 если кто может, заметил один минус в стиле, если экран маленький типа телефона то иконки категорий также располагаются в 6 рядов но их не видно, подскажите как исправить так чтобы количество колонок подстраивалось под ширину экрана, то есть если экран маленький то выводить категории в одну колонку если средний то в 3 если большой то в 6, буду очень признателен за помощь. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... fjeka Опубліковано: 9 квітня 2014 Share Опубліковано: 9 квітня 2014 Большое, спасибо. Очень полезная вещь. Заменил в category.tpl блок отображающий подкатегории на этот код <?php if ($categories) { ?> <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categories as $category) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a> </div> <div class="tovar_info"> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> <?php } ?> Получились красивые подкатегории в виде картинок. А можно ли в карточке товара прописать отображение категорий и подкатегорий? Прописал код из примера <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> Но появляются ошибки. Как правильно прописать переменую $categoryhome в product.php ? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 1 відповідь 241 перегляд sasha3337774 23 жовтня Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 0 коментарів 843 перегляди sasha3337774 20 жовтня Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 коментарів 1 679 переглядів IHOR1989 5 квітня [Поддержка] Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 відповідей 267 переглядів IHOR1989 6 квітня Іконки та підказки для характеристик товару Автор: IHOR1989, 9 січня 2022 атрибуты характеристики (і ще 5) Теги: атрибуты характеристики иконки дизайн ключевые характеристики группы характеристик изображения 0 коментарів 8 087 переглядів IHOR1989 9 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Форум Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Иконки всех категорий и под категорий на главной.
CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Я хочу вывести их таблицей 5 категорий по ширине ну а дальше вниз по 5 до последней без группировки, как на сайте ссылку на который дал, Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Вот так. Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 ясно ну так нельзя да и делать такое тоже не буду так как нехочу быть причастным к тому что у покупателей голова слоается :-) вы уж простите за сарказм. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 знаете а вы зря иронизируете, я вот знаю владельца магазина ссылку на который дал вот он совсем недавно применил такое решение и скажу честно что прирост заказов почти 20% тока из-за такого вида категорий на главной так что вы тут неправы. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 ну если вы так считаете то я спорить с вами не намерен ну и тем более отговаривать от такого подхода. когда реализуйте понаблюдайте за поведением пользователей Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если бы я был php программистом то давно бы реализовал, и не искал подобный модуль. Жаль буду ждать может все таки кто-то видел подобное решение. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 посмотрите тут на форуме есть какой то еще модуль с картинками категорий для главной я особо в него не всматривался но может он вам и подойдет Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Вот сделал своими силами, хотя и на php никогда не программировал но уже 15 лет как программирую на Delphi. И хотя у меня на решение проблемы ушло 1 часа. Думаю у любого программиста который уже что то писал под OpenCart или на php ушло бы минут 10 обидно что на форуме OpenCart не осталось людей которые бы могли помочь другим. Поэтому так как я никогда не занимался коммерческим программированием и даже иногда презираю людей которые написали 200 строчек и еще просят за это деньги, в топку их гори они синем пламенем.И так вот кейк если кому то еще нужно отобразить все категории с под категориями на главной. И так берем файл /catalog/controller/module/categoryhome.php Перед функцией protected function getCategories($parent_id, $current_path = '') { Вставляем. protected function getAllCategories($parent_id, $current_path = '') { $categoryhome = array(); $category_id = array_shift($this->path); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories($parent_id); //Получаем список всех родительских категорий. $i=0; //Обнуляем счетчик. foreach ($categories as $category) { //Производим перебор всех найденных категорий $children = $this->model_catalog_category->getCategories($category['category_id']);//Получаем список всех подкатегорий. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; foreach ($children as $child) {//Перебираем все подкатегории. if (!$current_path) { $new_path = $child['category_id']; } else { $new_path = $current_path . '_' . $child['category_id']; } if ($this->category_id == $child['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($child['image']) { $image = $child['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $child['name']; $i++; } } return $categoryhome; } а строку $this->data['categoryhome'] = $this->getCategories($this->config->get('categoryhome_category')); Заменяем $this->data['categoryhome'] = $this->getAllCategories(0); Вот и все.После данного кейка нет смысла в настройках модуля указывать главную категорию, так как в данном случае она не нужна, настройки из админ панели выбора главной категории можно убрать подправив шаблон admin\view\template\module\categoryhome.tpl Помогайте людям безвозмездно, и все равно по иронии судьбы вам воздастся в тысячу раз больше. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Для тех кто хочет чтобы категории отображались в 6 столбцов вот кейк. Открываем файл catalog\view\theme\default\template\module\categoryhome.tpl И заменяем содержимое этим. <div class="middle"> <div class="align"><div class="blocks podrazdel"><?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span><?php } ?></div></div></div> В стилях добавляем вот это. .block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.middle { padding: 20px 40px 0px 40px; text-align: center}.middle .align { margin: 0px auto; text-align: left; width: 920px; position: relative;}.middle .basket_align { text-align: left; position: relative;}/* MAINPAGE STYLE */.middle .main_img { margin: 0px auto 40px auto; width: 900px;}.middle .spisok { background: url('i/slide_bg.png') no-repeat; width: 250px; height: 400px; float: left; overflow: hidden; position: relative; z-index: 5; text-align: left;}.block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.blocks.podrazdel { margin: -15px 0 0px -30px; text-align: center;}.blocks.podrazdel .block { padding: 15px 0 20px 30px;}.blocks.podrazdel .block .width { width: 120px; height: auto; background: none;}.blocks.podrazdel .block .img { text-align: center;}.blocks.podrazdel .block .tovar_info { font-size: 12px !important; font-weight: bold; color: #666; height: auto; text-align: center; padding: 0px !important;} В результате получаем вот это. Теперь можно смело переименовывать модуль под Стена Категорий и под категорий 0.1.2 и продавать за 450 рублей :-D Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если вам надо отображать только под категории то вот этот кусок кода надо удалить. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; А еще если есть желание то в админку можно добавить чекбокс с надписью "Отображать Главные категории" и тогда этот кусок можно поставить под if и можно будет выбирать будет время посмотрю что там да как и сделаю. Если надо изменить размер миниатюр то править нужно здесь resize($image, 110, 110); 110, 110 заменяем на нужный размер миниатюр. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 4 лютого 2014 Автор Share Опубліковано: 4 лютого 2014 если кто может, заметил один минус в стиле, если экран маленький типа телефона то иконки категорий также располагаются в 6 рядов но их не видно, подскажите как исправить так чтобы количество колонок подстраивалось под ширину экрана, то есть если экран маленький то выводить категории в одну колонку если средний то в 3 если большой то в 6, буду очень признателен за помощь. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... fjeka Опубліковано: 9 квітня 2014 Share Опубліковано: 9 квітня 2014 Большое, спасибо. Очень полезная вещь. Заменил в category.tpl блок отображающий подкатегории на этот код <?php if ($categories) { ?> <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categories as $category) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a> </div> <div class="tovar_info"> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> <?php } ?> Получились красивые подкатегории в виде картинок. А можно ли в карточке товара прописать отображение категорий и подкатегорий? Прописал код из примера <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> Но появляются ошибки. Как правильно прописать переменую $categoryhome в product.php ? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 1 відповідь 241 перегляд sasha3337774 23 жовтня Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 0 коментарів 843 перегляди sasha3337774 20 жовтня Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 коментарів 1 679 переглядів IHOR1989 5 квітня [Поддержка] Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 відповідей 267 переглядів IHOR1989 6 квітня Іконки та підказки для характеристик товару Автор: IHOR1989, 9 січня 2022 атрибуты характеристики (і ще 5) Теги: атрибуты характеристики иконки дизайн ключевые характеристики группы характеристик изображения 0 коментарів 8 087 переглядів IHOR1989 9 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Форум Підтримка та відповіді на запитання. Шаблони, дизайн та оформлення магазину Иконки всех категорий и под категорий на главной.
CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 знаете а вы зря иронизируете, я вот знаю владельца магазина ссылку на который дал вот он совсем недавно применил такое решение и скажу честно что прирост заказов почти 20% тока из-за такого вида категорий на главной так что вы тут неправы. Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 ну если вы так считаете то я спорить с вами не намерен ну и тем более отговаривать от такого подхода. когда реализуйте понаблюдайте за поведением пользователей Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если бы я был php программистом то давно бы реализовал, и не искал подобный модуль. Жаль буду ждать может все таки кто-то видел подобное решение. Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 посмотрите тут на форуме есть какой то еще модуль с картинками категорий для главной я особо в него не всматривался но может он вам и подойдет Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Вот сделал своими силами, хотя и на php никогда не программировал но уже 15 лет как программирую на Delphi. И хотя у меня на решение проблемы ушло 1 часа. Думаю у любого программиста который уже что то писал под OpenCart или на php ушло бы минут 10 обидно что на форуме OpenCart не осталось людей которые бы могли помочь другим. Поэтому так как я никогда не занимался коммерческим программированием и даже иногда презираю людей которые написали 200 строчек и еще просят за это деньги, в топку их гори они синем пламенем.И так вот кейк если кому то еще нужно отобразить все категории с под категориями на главной. И так берем файл /catalog/controller/module/categoryhome.php Перед функцией protected function getCategories($parent_id, $current_path = '') { Вставляем. protected function getAllCategories($parent_id, $current_path = '') { $categoryhome = array(); $category_id = array_shift($this->path); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories($parent_id); //Получаем список всех родительских категорий. $i=0; //Обнуляем счетчик. foreach ($categories as $category) { //Производим перебор всех найденных категорий $children = $this->model_catalog_category->getCategories($category['category_id']);//Получаем список всех подкатегорий. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; foreach ($children as $child) {//Перебираем все подкатегории. if (!$current_path) { $new_path = $child['category_id']; } else { $new_path = $current_path . '_' . $child['category_id']; } if ($this->category_id == $child['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($child['image']) { $image = $child['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $child['name']; $i++; } } return $categoryhome; } а строку $this->data['categoryhome'] = $this->getCategories($this->config->get('categoryhome_category')); Заменяем $this->data['categoryhome'] = $this->getAllCategories(0); Вот и все.После данного кейка нет смысла в настройках модуля указывать главную категорию, так как в данном случае она не нужна, настройки из админ панели выбора главной категории можно убрать подправив шаблон admin\view\template\module\categoryhome.tpl Помогайте людям безвозмездно, и все равно по иронии судьбы вам воздастся в тысячу раз больше. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Для тех кто хочет чтобы категории отображались в 6 столбцов вот кейк. Открываем файл catalog\view\theme\default\template\module\categoryhome.tpl И заменяем содержимое этим. <div class="middle"> <div class="align"><div class="blocks podrazdel"><?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span><?php } ?></div></div></div> В стилях добавляем вот это. .block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.middle { padding: 20px 40px 0px 40px; text-align: center}.middle .align { margin: 0px auto; text-align: left; width: 920px; position: relative;}.middle .basket_align { text-align: left; position: relative;}/* MAINPAGE STYLE */.middle .main_img { margin: 0px auto 40px auto; width: 900px;}.middle .spisok { background: url('i/slide_bg.png') no-repeat; width: 250px; height: 400px; float: left; overflow: hidden; position: relative; z-index: 5; text-align: left;}.block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.blocks.podrazdel { margin: -15px 0 0px -30px; text-align: center;}.blocks.podrazdel .block { padding: 15px 0 20px 30px;}.blocks.podrazdel .block .width { width: 120px; height: auto; background: none;}.blocks.podrazdel .block .img { text-align: center;}.blocks.podrazdel .block .tovar_info { font-size: 12px !important; font-weight: bold; color: #666; height: auto; text-align: center; padding: 0px !important;} В результате получаем вот это. Теперь можно смело переименовывать модуль под Стена Категорий и под категорий 0.1.2 и продавать за 450 рублей :-D Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если вам надо отображать только под категории то вот этот кусок кода надо удалить. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; А еще если есть желание то в админку можно добавить чекбокс с надписью "Отображать Главные категории" и тогда этот кусок можно поставить под if и можно будет выбирать будет время посмотрю что там да как и сделаю. Если надо изменить размер миниатюр то править нужно здесь resize($image, 110, 110); 110, 110 заменяем на нужный размер миниатюр. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 4 лютого 2014 Автор Share Опубліковано: 4 лютого 2014 если кто может, заметил один минус в стиле, если экран маленький типа телефона то иконки категорий также располагаются в 6 рядов но их не видно, подскажите как исправить так чтобы количество колонок подстраивалось под ширину экрана, то есть если экран маленький то выводить категории в одну колонку если средний то в 3 если большой то в 6, буду очень признателен за помощь. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... fjeka Опубліковано: 9 квітня 2014 Share Опубліковано: 9 квітня 2014 Большое, спасибо. Очень полезная вещь. Заменил в category.tpl блок отображающий подкатегории на этот код <?php if ($categories) { ?> <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categories as $category) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a> </div> <div class="tovar_info"> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> <?php } ?> Получились красивые подкатегории в виде картинок. А можно ли в карточке товара прописать отображение категорий и подкатегорий? Прописал код из примера <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> Но появляются ошибки. Как правильно прописать переменую $categoryhome в product.php ? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 1 відповідь 241 перегляд sasha3337774 23 жовтня Quick Category Edit - швидке керування та редагування категоріями OpenCart Автор: sasha3337774, 20 жовтня редактор быстрое редактирование (і ще 1) Теги: редактор быстрое редактирование категории 0 коментарів 843 перегляди sasha3337774 20 жовтня Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 коментарів 1 679 переглядів IHOR1989 5 квітня [Поддержка] Масове редагування категорій та виробника товарів Автор: IHOR1989, 5 квітня утилита категори (і ще 3) Теги: утилита категори категории производель производители 0 відповідей 267 переглядів IHOR1989 6 квітня Іконки та підказки для характеристик товару Автор: IHOR1989, 9 січня 2022 атрибуты характеристики (і ще 5) Теги: атрибуты характеристики иконки дизайн ключевые характеристики группы характеристик изображения 0 коментарів 8 087 переглядів IHOR1989 9 січня 2022 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если бы я был php программистом то давно бы реализовал, и не искал подобный модуль. Жаль буду ждать может все таки кто-то видел подобное решение. Надіслати Поділитися на інших сайтах More sharing options...
snastik Опубліковано: 2 лютого 2014 Share Опубліковано: 2 лютого 2014 посмотрите тут на форуме есть какой то еще модуль с картинками категорий для главной я особо в него не всматривался но может он вам и подойдет Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Вот сделал своими силами, хотя и на php никогда не программировал но уже 15 лет как программирую на Delphi. И хотя у меня на решение проблемы ушло 1 часа. Думаю у любого программиста который уже что то писал под OpenCart или на php ушло бы минут 10 обидно что на форуме OpenCart не осталось людей которые бы могли помочь другим. Поэтому так как я никогда не занимался коммерческим программированием и даже иногда презираю людей которые написали 200 строчек и еще просят за это деньги, в топку их гори они синем пламенем.И так вот кейк если кому то еще нужно отобразить все категории с под категориями на главной. И так берем файл /catalog/controller/module/categoryhome.php Перед функцией protected function getCategories($parent_id, $current_path = '') { Вставляем. protected function getAllCategories($parent_id, $current_path = '') { $categoryhome = array(); $category_id = array_shift($this->path); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories($parent_id); //Получаем список всех родительских категорий. $i=0; //Обнуляем счетчик. foreach ($categories as $category) { //Производим перебор всех найденных категорий $children = $this->model_catalog_category->getCategories($category['category_id']);//Получаем список всех подкатегорий. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; foreach ($children as $child) {//Перебираем все подкатегории. if (!$current_path) { $new_path = $child['category_id']; } else { $new_path = $current_path . '_' . $child['category_id']; } if ($this->category_id == $child['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($child['image']) { $image = $child['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $child['name']; $i++; } } return $categoryhome; } а строку $this->data['categoryhome'] = $this->getCategories($this->config->get('categoryhome_category')); Заменяем $this->data['categoryhome'] = $this->getAllCategories(0); Вот и все.После данного кейка нет смысла в настройках модуля указывать главную категорию, так как в данном случае она не нужна, настройки из админ панели выбора главной категории можно убрать подправив шаблон admin\view\template\module\categoryhome.tpl Помогайте людям безвозмездно, и все равно по иронии судьбы вам воздастся в тысячу раз больше. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Для тех кто хочет чтобы категории отображались в 6 столбцов вот кейк. Открываем файл catalog\view\theme\default\template\module\categoryhome.tpl И заменяем содержимое этим. <div class="middle"> <div class="align"><div class="blocks podrazdel"><?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span><?php } ?></div></div></div> В стилях добавляем вот это. .block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.middle { padding: 20px 40px 0px 40px; text-align: center}.middle .align { margin: 0px auto; text-align: left; width: 920px; position: relative;}.middle .basket_align { text-align: left; position: relative;}/* MAINPAGE STYLE */.middle .main_img { margin: 0px auto 40px auto; width: 900px;}.middle .spisok { background: url('i/slide_bg.png') no-repeat; width: 250px; height: 400px; float: left; overflow: hidden; position: relative; z-index: 5; text-align: left;}.block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.blocks.podrazdel { margin: -15px 0 0px -30px; text-align: center;}.blocks.podrazdel .block { padding: 15px 0 20px 30px;}.blocks.podrazdel .block .width { width: 120px; height: auto; background: none;}.blocks.podrazdel .block .img { text-align: center;}.blocks.podrazdel .block .tovar_info { font-size: 12px !important; font-weight: bold; color: #666; height: auto; text-align: center; padding: 0px !important;} В результате получаем вот это. Теперь можно смело переименовывать модуль под Стена Категорий и под категорий 0.1.2 и продавать за 450 рублей :-D Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если вам надо отображать только под категории то вот этот кусок кода надо удалить. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; А еще если есть желание то в админку можно добавить чекбокс с надписью "Отображать Главные категории" и тогда этот кусок можно поставить под if и можно будет выбирать будет время посмотрю что там да как и сделаю. Если надо изменить размер миниатюр то править нужно здесь resize($image, 110, 110); 110, 110 заменяем на нужный размер миниатюр. Надіслати Поділитися на інших сайтах More sharing options... CasperJon Опубліковано: 4 лютого 2014 Автор Share Опубліковано: 4 лютого 2014 если кто может, заметил один минус в стиле, если экран маленький типа телефона то иконки категорий также располагаются в 6 рядов но их не видно, подскажите как исправить так чтобы количество колонок подстраивалось под ширину экрана, то есть если экран маленький то выводить категории в одну колонку если средний то в 3 если большой то в 6, буду очень признателен за помощь. Надіслати Поділитися на інших сайтах More sharing options... 2 months later... fjeka Опубліковано: 9 квітня 2014 Share Опубліковано: 9 квітня 2014 Большое, спасибо. Очень полезная вещь. Заменил в category.tpl блок отображающий подкатегории на этот код <?php if ($categories) { ?> <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categories as $category) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a> </div> <div class="tovar_info"> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> <?php } ?> Получились красивые подкатегории в виде картинок. А можно ли в карточке товара прописать отображение категорий и подкатегорий? Прописал код из примера <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> Но появляются ошибки. Как правильно прописать переменую $categoryhome в product.php ? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Вот сделал своими силами, хотя и на php никогда не программировал но уже 15 лет как программирую на Delphi. И хотя у меня на решение проблемы ушло 1 часа. Думаю у любого программиста который уже что то писал под OpenCart или на php ушло бы минут 10 обидно что на форуме OpenCart не осталось людей которые бы могли помочь другим. Поэтому так как я никогда не занимался коммерческим программированием и даже иногда презираю людей которые написали 200 строчек и еще просят за это деньги, в топку их гори они синем пламенем.И так вот кейк если кому то еще нужно отобразить все категории с под категориями на главной. И так берем файл /catalog/controller/module/categoryhome.php Перед функцией protected function getCategories($parent_id, $current_path = '') { Вставляем. protected function getAllCategories($parent_id, $current_path = '') { $categoryhome = array(); $category_id = array_shift($this->path); $this->data['categories'] = array(); $categories = $this->model_catalog_category->getCategories($parent_id); //Получаем список всех родительских категорий. $i=0; //Обнуляем счетчик. foreach ($categories as $category) { //Производим перебор всех найденных категорий $children = $this->model_catalog_category->getCategories($category['category_id']);//Получаем список всех подкатегорий. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; foreach ($children as $child) {//Перебираем все подкатегории. if (!$current_path) { $new_path = $child['category_id']; } else { $new_path = $current_path . '_' . $child['category_id']; } if ($this->category_id == $child['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($child['image']) { $image = $child['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $child['name']; $i++; } } return $categoryhome; } а строку $this->data['categoryhome'] = $this->getCategories($this->config->get('categoryhome_category')); Заменяем $this->data['categoryhome'] = $this->getAllCategories(0); Вот и все.После данного кейка нет смысла в настройках модуля указывать главную категорию, так как в данном случае она не нужна, настройки из админ панели выбора главной категории можно убрать подправив шаблон admin\view\template\module\categoryhome.tpl Помогайте людям безвозмездно, и все равно по иронии судьбы вам воздастся в тысячу раз больше. Надіслати Поділитися на інших сайтах More sharing options...
CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Для тех кто хочет чтобы категории отображались в 6 столбцов вот кейк. Открываем файл catalog\view\theme\default\template\module\categoryhome.tpl И заменяем содержимое этим. <div class="middle"> <div class="align"><div class="blocks podrazdel"><?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span><?php } ?></div></div></div> В стилях добавляем вот это. .block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.middle { padding: 20px 40px 0px 40px; text-align: center}.middle .align { margin: 0px auto; text-align: left; width: 920px; position: relative;}.middle .basket_align { text-align: left; position: relative;}/* MAINPAGE STYLE */.middle .main_img { margin: 0px auto 40px auto; width: 900px;}.middle .spisok { background: url('i/slide_bg.png') no-repeat; width: 250px; height: 400px; float: left; overflow: hidden; position: relative; z-index: 5; text-align: left;}.block { text-decoration: none; display: -moz-inline-box; display: inline-block; vertical-align: top; text-align: left; padding: 15px 0 0px 10px;}.block .width { width: 180px; height: 350px; float: left; position: relative; background: url('i/tovar_bg.png') no-repeat; overflow: hidden;}.block.active .width { background: url('i/tovar_bg.png') 0px -350px;}.blocks.podrazdel { margin: -15px 0 0px -30px; text-align: center;}.blocks.podrazdel .block { padding: 15px 0 20px 30px;}.blocks.podrazdel .block .width { width: 120px; height: auto; background: none;}.blocks.podrazdel .block .img { text-align: center;}.blocks.podrazdel .block .tovar_info { font-size: 12px !important; font-weight: bold; color: #666; height: auto; text-align: center; padding: 0px !important;} В результате получаем вот это. Теперь можно смело переименовывать модуль под Стена Категорий и под категорий 0.1.2 и продавать за 450 рублей :-D Надіслати Поділитися на інших сайтах More sharing options...
CasperJon Опубліковано: 2 лютого 2014 Автор Share Опубліковано: 2 лютого 2014 Если вам надо отображать только под категории то вот этот кусок кода надо удалить. if (!$current_path) { $new_path = $category['category_id']; } else { $new_path = $current_path . '_' . $category['category_id']; } if ($this->category_id == $category['category_id']) { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } else { $categoryhome[$i]['href'] = $this->url->link('product/category', 'path=' . $new_path); } if ($category['image']) { $image = $category['image']; } else { $image = 'no_image.jpg'; } $categoryhome[$i]['thumb'] = $this->model_tool_image->resize($image, 110, 110); $categoryhome[$i]['name'] = $category['name']; $i++; А еще если есть желание то в админку можно добавить чекбокс с надписью "Отображать Главные категории" и тогда этот кусок можно поставить под if и можно будет выбирать будет время посмотрю что там да как и сделаю. Если надо изменить размер миниатюр то править нужно здесь resize($image, 110, 110); 110, 110 заменяем на нужный размер миниатюр. Надіслати Поділитися на інших сайтах More sharing options...
CasperJon Опубліковано: 4 лютого 2014 Автор Share Опубліковано: 4 лютого 2014 если кто может, заметил один минус в стиле, если экран маленький типа телефона то иконки категорий также располагаются в 6 рядов но их не видно, подскажите как исправить так чтобы количество колонок подстраивалось под ширину экрана, то есть если экран маленький то выводить категории в одну колонку если средний то в 3 если большой то в 6, буду очень признателен за помощь. Надіслати Поділитися на інших сайтах More sharing options...
fjeka Опубліковано: 9 квітня 2014 Share Опубліковано: 9 квітня 2014 Большое, спасибо. Очень полезная вещь. Заменил в category.tpl блок отображающий подкатегории на этот код <?php if ($categories) { ?> <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categories as $category) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>" title="<?php echo $category['name']; ?>" alt="<?php echo $category['name']; ?>" /></a> </div> <div class="tovar_info"> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> <?php } ?> Получились красивые подкатегории в виде картинок. А можно ли в карточке товара прописать отображение категорий и подкатегорий? Прописал код из примера <div class="middle"> <div class="align"> <div class="blocks podrazdel"> <?php foreach ($categoryhome as $categoryhome) { ?> <span class="block"> <div class="width"> <div class="img"> <a href="<?php echo $categoryhome['href']; ?>"><img src="<?php echo $categoryhome['thumb']; ?>" alt="<?php echo $categoryhome['name']; ?>" title="<?php echo $categoryhome['name']; ?>"></a> </div> <div class="tovar_info"> <a href="<?php echo $categoryhome['href']; ?>"><?php echo $categoryhome['name']; ?></a> </div> <div class="clear"></div> </div> </span> <?php } ?> </div> </div> </div> Но появляются ошибки. Как правильно прописать переменую $categoryhome в product.php ? Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts