Перейти к содержимому


Фотография
- - - - -

Related Items - Шаблон вывода материала


Лучший Ответ DMTR3000S , 26 February 2018 - 21:35

Кто сталкивался, подскажите, как можно создать свой шаблон вывода материалов через элемент Related Items?

 

Создаёте свой файл шаблона. Называете его, допустим, customrelaed.php. Кладёте его вот сюда

/media/zoo/applications/jbuniversal/templates/ВАШ_ШАБЛОН/renderer/item/ 

В нём делаете нужную разметку, как в любом другом шаблоне, типа teaser или full. Далее, в этой же директории открываете файл positions.xml, и добавляете в него свой лэйаут, обзываете его так же как и созданный ранее шаблон: в моём примере - customrelated

Не отходя от кассы открываете файл metadata.xml и видите, что в нём тоже есть лэйауты, причём у некоторых есть атрибут type. Создаёте свой лэйаут и обязательно указываете этот самый атрибут type="related". После проведённых манипуляций в настройках элемента Related Items можно будет выбрать ваш кастомный шаблон.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 21

#1 mr.varhola

mr.varhola

Отправлено 26 February 2018 - 18:54

Здравствуйте!

Кто сталкивался, подскажите, как можно создать свой шаблон вывода материалов через элемент Related Items?

Сейчас тот элемент выводит название и ссылку на элемент, мне дополнительно нужно получить картинку, как это можно сделать?


Сообщение отредактировал mr.varhola: 26 February 2018 - 18:56

  • 0

#2 DMTR3000S

DMTR3000S

Отправлено 26 February 2018 - 21:35   Лучший Ответ

Кто сталкивался, подскажите, как можно создать свой шаблон вывода материалов через элемент Related Items?

 

Создаёте свой файл шаблона. Называете его, допустим, customrelaed.php. Кладёте его вот сюда

/media/zoo/applications/jbuniversal/templates/ВАШ_ШАБЛОН/renderer/item/ 

В нём делаете нужную разметку, как в любом другом шаблоне, типа teaser или full. Далее, в этой же директории открываете файл positions.xml, и добавляете в него свой лэйаут, обзываете его так же как и созданный ранее шаблон: в моём примере - customrelated

Не отходя от кассы открываете файл metadata.xml и видите, что в нём тоже есть лэйауты, причём у некоторых есть атрибут type. Создаёте свой лэйаут и обязательно указываете этот самый атрибут type="related". После проведённых манипуляций в настройках элемента Related Items можно будет выбрать ваш кастомный шаблон.


Сообщение отредактировал DMTR3000S: 26 February 2018 - 21:35

  • 0

#3 mr.varhola

mr.varhola

Отправлено 27 February 2018 - 09:30

Спасибо за инструкцию но к сожалению она не помогла, после всех манипуляций возможность выбора шаблона так и не появилась: http://joxi.ru/52aBa0WUG7QExA


  • 0

#4 DMTR3000S

DMTR3000S

Отправлено 27 February 2018 - 10:06

Вы явно что-то сделали не так. Покажите содержимое модифицируемых файлов.
  • 0

#5 mr.varhola

mr.varhola

Отправлено 27 February 2018 - 10:40

Мы же сейчас говорим об одном и том же элементе? :)

я про этот: http://joxi.ru/Dr8PXezCkOL75r

В товаре он выглядит так: http://joxi.ru/DmBZQeKtNMkejm

в шаблоне full так: http://joxi.ru/brRK1OqtQlRjem

сам элемент находится тут: media\zoo\elements\relateditems


  • 0

#6 DMTR3000S

DMTR3000S

Отправлено 27 February 2018 - 10:48

Совершенно верно. Порядок действий я описал, вроде как, верный, всегда им пользуюсь, и всё работает :)


  • 0

#7 mr.varhola

mr.varhola

Отправлено 27 February 2018 - 11:33

Покажите пожалуйста, как у вас выглядит выбор шаблона.

я вижу и стандартный шаблон related.php но в данном элементе у меня нет возможности выбрать никакой шаблон.


  • 0

#8 mr.varhola

mr.varhola

Отправлено 27 February 2018 - 11:40

единственное место, что я нашел, где формируется вывод этого элемента в этом файле: media\zoo\elements\relateditems\relateditems.php

 

В админке к примеру можно указать название элемента будет ссылкой или нет: http://joxi.ru/Vm64OejCxa6dgA

если выбираю выводить ссылкой эти связанные товары выводятся так: http://joxi.ru/zAN6nZ7tlka0XA

 

и в указанном выше файле я нашел такой кусок кода:

			if (in_array($layout, $renderer->getLayouts($path))) {
				$output[] = $renderer->render($prefix.$layout, array('item' => $item));
			} elseif ($params->get('link_to_item', false) && $item->getState()) {
				$output[] = '<a href="'.$this->app->route->item($item).'" title="'.$item->name.'">'.$item->name.'</a>';
			} else {
				$output[] = $item->name;
			}

который в принципе и выводит либо просто название товара либо название с ссылкой на товар.


  • 0

#9 DMTR3000S

DMTR3000S

Отправлено 27 February 2018 - 11:40

Вот, пожалуйста. В данном случае, мой шаблон для Related Items называется Accessories, вот он и выбран.

69e972958e.png


  • 0

#10 mr.varhola

mr.varhola

Отправлено 27 February 2018 - 11:51

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


в вашем случае вы используете другой элемент: (JBZoo Related items (auto))
в нем у меня тоже порядок.


  • 0




Click to return to top of page in style!