Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


 Поделиться

Рекомендованные сообщения

По ссылке " Нужно вот так"  белый лист .

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

По ссылке " Нужно вот так"  белый лист .

 

это и есть, новый макет.

дефолтный макет в другой категории посмотреть можно  http://autoko.ru/index.php?route=product/category&path=63_65_439

Ссылка на комментарий
Поделиться на других сайтах


Если я правильно понял ,то нужно для одной категории создать  свой шаблон?

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Если я правильно понял ,то нужно для одной категории создать  свой шаблон?

 

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

+ чтоб еще сео понимало новый шаблон  product/autoparts

Ссылка на комментарий
Поделиться на других сайтах


Могу лишь предложить свой способ.Ниже расположенный код  в виде файла  XML   загрузить в папку  VQMOD  на сервере(ну или внести правки согласно ему же руками)
 

 

<modification>
<id>Category and Product custome pages</id>
<version>1.0.0</version>
<vqmver>2.3.2</vqmver>
<author>Tom</author>
<file name="catalog/controller/product/category.php">
<operation>
<search position="before"><![CDATA[$this->document->setTitle($category_info['name']);]]></search>
<add><![CDATA[
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/stylesheet/category_' . $category_id . '.css')) {
$this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/category_' . $category_id . '.css');
}
]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {]]></search>
<add><![CDATA[
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category_' . $category_id . '.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category_' . $category_id . '.tpl';
} elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
]]></add>
</operation>
</file>
<file name="catalog/controller/product/product.php">
<operation>
<search position="before"><![CDATA[$this->document->setTitle($product_info['name']);]]></search>
<add><![CDATA[
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/stylesheet/product_' . $product_id . '.css')) {
$this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/product_' . $product_id . '.css');
}
]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {]]></search>
<add><![CDATA[
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product_' . $product_id . '.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/product_' . $product_id . '.tpl';
} elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {
]]></add>
</operation>
</file>
</modification>

 

В дальнейшем  используем ID  категории. 

 

Определив  ID нужной нам категории,создаём  файл  category_XXX.tpl  ( где   XXX  и есть ID категории,так же можно использовать и стили,создав файл стилей  category_XXX.css)

 

Теперь эта категория будет иметь свой собственный  шаблон. 

 

В том моде что я  привёл выше можно так же поступить с товаром( то есть выборочно по ID присвоить свой шаблон) .Насколько я понимаю с ЧПУ в данном случае проблем не возникнет.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Можно ли с помощью мода сделать чтоб в конкретной категории и подкатегориях применялся свой шаблон в карточке товара.

Ссылка на комментарий
Поделиться на других сайтах


Ссылка на комментарий
Поделиться на других сайтах

и что там. Я пробую Для конкретной категории - работает, а для подкатегорий нет которые входят в эту категорию. Для карточки товара вообще шаблон не меняется.

вот тотже что и Том предложил мод http://www.opencartnews.com/tutorials/specific-template-for-category-and-product-page/ - тот-же результат.

Если я неправ, то подскажите как изменять шаблон карточки товара с помощью мода в зависимости от категории и подкатегорий?

product_id.tpl - это не срабатывает в данном моде

category_id.tpl - это работает но только для конкретной категории, а для подкатегорий нет.

Ссылка на комментарий
Поделиться на других сайтах


В карточке товара всё работает,вот пример,две страницы одного магазина,два товара одной категории,в одном работает Photobox  в другом Swipebox

 

http://tom.ip64.net/index.php?route=product/product&path=20&product_id=46

 

http://tom.ip64.net/index.php?route=product/product&path=18&product_id=44

Ссылка на комментарий
Поделиться на других сайтах

какое имя используеш для шаблона карточки товара - такое product_id.tpl -?

И как можно указать для всех товаров конкретной категории?

Ссылка на комментарий
Поделиться на других сайтах


какое имя используеш для шаблона карточки товара - такое product_id.tpl -?

 

да,вплоть до создания своих стилей по принципу  

 

product_id.css

 

И как можно указать для всех товаров конкретной категории?

 

не вникал в подобные вопросы.

Ссылка на комментарий
Поделиться на других сайтах

  • 7 месяцев спустя...
  • 7 месяцев спустя...

да,вплоть до создания своих стилей по принципу  

 

product_id.css

 

не вникал в подобные вопросы.

 

Дядь, вам не пора на пенсию?

Сколько не читал ваши говно- мессаджи - пользы от них ноль. Сильно не обижауйтесь только.

Ссылка на комментарий
Поделиться на других сайтах


Согласен.Если не вникать в то, что сообщения годичной давности.

 

Ну и второй момент,если смотришь в книгу а видишь всем известную форму,то  да,виноват дядя!

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

  • 3 года спустя...

Как назначить свой шаблон продукта под конкретную категорию?

OcStore 2.3

Прошу помощи.

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

Ссылка на комментарий
Поделиться на других сайтах


  • 1 год спустя...
On 4/10/2019 at 11:57 AM, dimsky07 said:

Как назначить свой шаблон продукта под конкретную категорию?

OcStore 2.3

Прошу помощи.

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

Нашли решение?

Ссылка на комментарий
Поделиться на других сайтах


On 11/28/2020 at 10:32 AM, psychophobie said:

Нашли решение?

Да, правда ручное 

Нужно вносить изменение в 1 файл

url:  /catalog/controller/product/product.php

Строка: 500

далее конструкция назначение другого шаблона продукта под категорию

-----------------------------------------------------------------------------------------------------

if ($category_id == 102 ) {
            $this->response->setOutput($this->load->view('product/proektyproduct', $data));
            } elseif  ($category_id == 103 ) {
            $this->response->setOutput($this->load->view('product/proektyproduct', $data));
            } elseif  ($category_id == 138 ) {
            $this->response->setOutput($this->load->view('product/product_calc', $data));
            } elseif  (in_array($category_id, array(107, 108, 109))) {
            $this->response->setOutput($this->load->view('product/productkitchen', $data));
            } else {
            $this->response->setOutput($this->load->view('product/product', $data));
            }   
               
            } else {
            $url = '';

 

-----------------------------------------------------------------------------------------------------

proektyproduct.tpl, proektyproduct.tpl, product_calc.tpl, productkitchen.tpl - это копии файла product.tpl со своими правками

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


  • 2 месяца спустя...
В 08.11.2013 в 02:53, askirov сказал:

я делал еще так: если у товара кол-во на складе = 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

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

А для версии опенкарт 2.3 как сделать?

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.