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

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


Recommended Posts

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

 

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

дефолтный макет в другой категории посмотреть можно  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 month later...

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

вот тотже что и Том предложил мод 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.css

 

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

 

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

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

  • 7 months later...
  • 7 months later...

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

 

product_id.css

 

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

 

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

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

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


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

 

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

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

  • 3 years later...

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

OcStore 2.3

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

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

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


  • 1 year later...
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 months later...
В 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 как сделать?

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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