Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[РЕШЕНО] Отдельный шаблон для товаров в конкретной категории


Recommended Posts

Добрый день, уважаемые. Подскажите, может кто знает, необходимо в конкретной категории (например http://site/index.ph...ategory&path=18) выводить товары с другим шаблоном. Т.е. именно в id 18 (или другой, заведомо известной категории) вывести только фото, описание и поменять оформление. Каким образом можно прицепить шаб? Версия 1.5.1.3

Надіслати
Поділитися на інших сайтах


классно все посмотрели адрес то локальный

можно попробовать создать еще одну страничку Страница продукта и над ней поиздеваться

это если не лезть в глубины кода

Надіслати
Поділитися на інших сайтах

  • 4 weeks later...

Очень интересует возможность создания отдельного шаблона для конкретного айди. В Оскоммерсе это не было проблемой, а здесь я удивляюсь что до сих пор не нашел такой возможности. Ткните носом куда-то?

Надіслати
Поділитися на інших сайтах


Ткните носом куда-то?

в песок?.. :ugeek:

= = =

по существу:

вам нужна возможность выбирать другой шаблон для каких-то категорий, или абсолютно иную тему оформления?

Надіслати
Поділитися на інших сайтах

Да совершенно верно. В оскоммерсе я для конкретной категории мог сделать как отдельный шаблон для категории (убрать кнопки купить), так и для продукта (так же убрать кнопки купить). Или изменить дизайн карточки товара. Интересует возможность реализации этого здесь.

Надіслати
Поділитися на інших сайтах


Надіслати
Поділитися на інших сайтах


еще раз повторяю вопрос:

вам нужна возможность выбирать другой шаблон (внешний вид основного контента страницы - theme/template) или абсолютно иную тему оформления (theme)?

Надіслати
Поділитися на інших сайтах

Понял вопрос. Нужен именно первый вариант - внешний вид основного контента страницы - theme/template Но, если такое не реально, то я готов рассмотреть возможность использованию тупо другой theme для конкретной категории. Мне понравилась ваша фраза отсюда https://opencartforum.com/topic/1654-%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B5-%D0%BD%D0%B0-%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%B5/page__p__10028#entry10028

#3 повторить для всех использующихся шаблонов категории

Надіслати
Поділитися на інших сайтах


  • 3 months later...

Ну хотелось бы все варианты испробовать, но и на том спасибо, жителям донбасса.. ;)

хотелось узнать, получилось в итоге что то или нет? появилась подобная задача, не хотелось бы на теже грабли, если уже пройдено кем то :oops:
Надіслати
Поділитися на інших сайтах


А что мешает создать новую схему для страницы продукта, и привязать её к конкретному продукту?

Надіслати
Поділитися на інших сайтах

  • 8 months later...

А что мешает создать новую схему для страницы продукта, и привязать её к конкретному продукту?

Если не сложно как создать новую схему , а то я 1 раз так перемудрил что ппц))

Надіслати
Поділитися на інших сайтах


Если не сложно как создать новую схему , а то я 1 раз так перемудрил что ппц))

Новая схема создаётся в настройках админки. В настройках конкретной категории можно выбрать эту схему. НО когда создаётся схема, указывается путь к ней. Например, для категории это выглядит так:

product/category

product/category - это путь к контролеру. Т.е., catalog\controller\product\category.php

Вам нужно создать копию этого файла, например, catalog\controller\product\category1.php и в этом файле-контроллере указать путь к своему шаблону.

По-умолчанию, там вот так идёт:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
		    $this->template = $this->config->get('config_template') . '/template/product/category.tpl';
	    } else {
		    $this->template = 'default/template/product/category.tpl';
	    }

А нужно изменить, к примеру, так:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/mycategory.tpl')) {
		    $this->template = $this->config->get('config_template') . '/template/product/mycategory.tpl';
	    } else {
		    $this->template = 'default/template/product/mycategory.tpl';
	    }

Далее вы создаёте новую схему, в пути указываете ваш новый контроллер:

product/category1

И в настройках отдельной категории указываете эту новую схему

Надіслати
Поділитися на інших сайтах

  • 4 months later...

 

product/category - это путь к контролеру

Это надо большими красными буквами написать, в шапке форума. Сам долго не понимал почему не меняется карточка товара, если в настройках товара менять схему на свою. А там путь указывается к контроллеру, а не к шаблону, который *.tpl.

Спасибо!

Надіслати
Поділитися на інших сайтах


Хочу вывод карточки товара сделать через свой tpl шаблон. Сделал все как описано было выше. Перепроверил. Не работает. Карточка товара выводится дефолтным шаблоном (тем что product/product). Нашел вот этот метод попробовал применить к категориям и к товарам. На категориях вроде работает, хотя при переходе по ссылке показывает только пустую страницу, ни ошибок, ни контента. Зато в ссылках отображается "route=product/category1" что есть правильно. А вот с карточкой товара не выходит: route все равно "=product/product". Что еще надо поправить?

Версия 1.5.4.1.2

Надіслати
Поділитися на інших сайтах


  • 2 months later...

я делал еще так: если у товара кол-во на складе = 0 то подгружался другой шаблон вот код в файле catalog/controller/product/product.php

заменить строки 

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {

на 

if ($product_info['quantity'] <= 0 && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product1.tpl')) {
				$this->template = $this->config->get('config_template') . '/template/product/product1.tpl';
			} elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {

соответственно создав в папке новый шаблон для товара например product1.tpl /template/product/product1.tpl

Как-то так. Пробуйте.

Надіслати
Поділитися на інших сайтах


Также и с категориями только вместо 

if ($product_info['quantity'] <= 0

заменяем на

if ($category_id == '18') && file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category_1.tpl'){ $this->template = $this->config->get('config_template') . '/template/product/category_1.tpl';
			} elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {

 
id ставим той категории где хотим заменить шаблон

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

сделал макет в админке, добавил контроллер, выводится только вручную  вот так ->

http://autoko.ru/index.php?route=product/autoparts&path=63_65_514

так выводится, но система не понимает новый контроллер и выдает только такой URL (он не правильный). 

http://autoko.ru/index.php?route=product/category&path=63_65_514

 

подскажите где поправить вывод url-а для нужного макета, и наверное еще чтоб сео адекватно воспринимало?

 

Надіслати
Поділитися на інших сайтах


Если не писать загадками и полунамёками,то вопрос решится на раз-два.

  • +1 1
Надіслати
Поділитися на інших сайтах

Если не писать загадками и полунамёками,то вопрос решится на раз-два.

 

так я и спрашиваю, что еще расписать?

вроде бы все по порядку....

версия опенкарта 1.5.1.3

было сделано как в этом посте https://opencartforum.com/topic/7502-otdelnyi-shablon-dlia-tovarov-v-konkretnoi-kate/?do=findComment&comment=148366

имя макета "autoparts"

выводит вот так http://autoko.ru/index.php?route=product/category&path=63_65_514

нужно вот так - http://autoko.ru/index.php?route=product/autoparts&path=63_65_514

и еще чтоб сео обработало.....

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.