Добавление нескольких фотографий к описанию объекта каталога — различия между версиями
Alexh (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
(не показано 10 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | + | '''Актуально для версии 2.9.5''' | |
+ | Существует несколько вариантов решения данной задачи: | ||
+ | |||
+ | == 1 Вариант == | ||
В шаблонах данных, для типа "'''Объект каталога'''" создать группу полей, например "'''Дополнительные фотографии'''". В данной группе создать несколько полей типа "'''Изображение'''". Соответственно, при описания характеристик товара в данные поля необходимо будет указать изображения для товара. Далее нужно внести небольшие изменения в шаблон дизайна, который используется для отображения объекта каталога. Тут тоже есть несколько вариантов: <br /> | В шаблонах данных, для типа "'''Объект каталога'''" создать группу полей, например "'''Дополнительные фотографии'''". В данной группе создать несколько полей типа "'''Изображение'''". Соответственно, при описания характеристик товара в данные поля необходимо будет указать изображения для товара. Далее нужно внести небольшие изменения в шаблон дизайна, который используется для отображения объекта каталога. Тут тоже есть несколько вариантов: <br /> | ||
− | * либо выводить каждое изображение макросом <code>'''%data getProperty()%'''</code> В качестве параметров в данный макрос необходимо передать id-страницы с описанием товара, имя поля (содержащее изображение) и шаблон отображения (если необходим отличный от стандартного tpls/data/default.tpl) | + | * либо выводить каждое изображение макросом <code>'''%data getProperty()%'''</code> В качестве параметров в данный макрос необходимо передать id-страницы с описанием товара, имя поля (содержащее изображение) и шаблон отображения (если необходим отличный от стандартного <u>tpls/data/default.tpl</u>) |
Например, <source lang="php">%data getProperty(%id%, 'dopfoto1', 'foto-shablon')%</source> | Например, <source lang="php">%data getProperty(%id%, 'dopfoto1', 'foto-shablon')%</source> | ||
* Либо использовать макрос <code>'''%data getPropertyGroup()%'''</code> для вывода сразу всех изображений. В качестве параметра передается id страницы и имя группы, содержащей дополнительные изображения. | * Либо использовать макрос <code>'''%data getPropertyGroup()%'''</code> для вывода сразу всех изображений. В качестве параметра передается id страницы и имя группы, содержащей дополнительные изображения. | ||
+ | <br /> | ||
− | + | '''Для xslt есть более подробный пример с шаблоном в статье [[Несколько_изображений_к_товару_средствами_дополнительных_полей]]''' | |
− | |||
− | + | == 2 Вариант == | |
− | Второй вариант - использовать модуль "Фотогалерея". Для каждого объекта можно создавать отдельный фотоальбом с любым количеством фотографий. В шаблонах данных для объекта каталога создать поле типа "Ссылка на дерево". При редактировании товара в этом поле указываем ссылку на фотоальбом. В шаблоне дизайна, который выводит описание товара (по умолчанию tpls/catalog/default.tpl) в блоке 'view_block' добавим макрос <code>'''%photoalbum album%'''</code> выводящий фотографии из указанного альбома. Пример вызова: | + | Второй вариант - использовать модуль "Фотогалерея". Для каждого объекта можно создавать отдельный фотоальбом с любым количеством фотографий. В шаблонах данных для объекта каталога создать поле типа "Ссылка на дерево". При редактировании товара в этом поле указываем ссылку на фотоальбом. В шаблоне дизайна, который выводит описание товара (по умолчанию <u>tpls/catalog/default.tpl</u>) в блоке 'view_block' добавим макрос <code>'''%photoalbum album%'''</code> выводящий фотографии из указанного альбома. Пример вызова: |
<source lang="php"> | <source lang="php"> | ||
Строка 29: | Строка 32: | ||
</source> | </source> | ||
Следует учесть, что это стандартный файл шаблона, поэтому перед редактированием необходимо сделать копию данного файла для быстрого восстановления работы сайта, если будут допущены какие-либо ошибки. | Следует учесть, что это стандартный файл шаблона, поэтому перед редактированием необходимо сделать копию данного файла для быстрого восстановления работы сайта, если будут допущены какие-либо ошибки. | ||
+ | |||
+ | '''Для xslt есть более подробный пример с шаблоном в статье [[Несколько_изображений_к_товару_средствами_модуля_Фотогалереи]]''' | ||
+ | |||
+ | == 3 Вариант == | ||
+ | |||
+ | Также, можно создать поле типа "составное", а у его элементов добавить поле типа "изображение". Данный вариант подробно описан в статье [[Несколько_изображений_к_товару_средствами_дополнительных_полей]]. | ||
+ | |||
+ | == 4 Вариант == | ||
+ | Если Вы используете xslt шаблонизатор, то Вы можете воспользоваться статьей [[Несколько_изображений_к_товару_средствами_протокола_ufs]]. В этом способе не нужно плодить поля и использовать модуль "Фотогалереи". | ||
+ | [[Категория:Модуль Каталог]] |
Текущая версия на 15:14, 25 марта 2014
Актуально для версии 2.9.5
Существует несколько вариантов решения данной задачи:
Содержание
1 Вариант
В шаблонах данных, для типа "Объект каталога" создать группу полей, например "Дополнительные фотографии". В данной группе создать несколько полей типа "Изображение". Соответственно, при описания характеристик товара в данные поля необходимо будет указать изображения для товара. Далее нужно внести небольшие изменения в шаблон дизайна, который используется для отображения объекта каталога. Тут тоже есть несколько вариантов:
- либо выводить каждое изображение макросом
%data getProperty()%
В качестве параметров в данный макрос необходимо передать id-страницы с описанием товара, имя поля (содержащее изображение) и шаблон отображения (если необходим отличный от стандартного tpls/data/default.tpl)
Например,
%data getProperty(%id%, 'dopfoto1', 'foto-shablon')%
- Либо использовать макрос
%data getPropertyGroup()%
для вывода сразу всех изображений. В качестве параметра передается id страницы и имя группы, содержащей дополнительные изображения.
Для xslt есть более подробный пример с шаблоном в статье Несколько_изображений_к_товару_средствами_дополнительных_полей
2 Вариант
Второй вариант - использовать модуль "Фотогалерея". Для каждого объекта можно создавать отдельный фотоальбом с любым количеством фотографий. В шаблонах данных для объекта каталога создать поле типа "Ссылка на дерево". При редактировании товара в этом поле указываем ссылку на фотоальбом. В шаблоне дизайна, который выводит описание товара (по умолчанию tpls/catalog/default.tpl) в блоке 'view_block' добавим макрос %photoalbum album%
выводящий фотографии из указанного альбома. Пример вызова:
%photoalbum album(%data getProperty(%id%, 'имя_поля_с_ссылкой_на_дерево')%)%
Также нужно отредактировать шаблон tpls/data/default.tpl - изменить содержимое блоков symlink_block
и symlink_item
на следующее:
$FORMS['symlink_block'] = <<<END
%items%
END;
$FORMS['symlink_item'] = <<<END
%id%
END;
Следует учесть, что это стандартный файл шаблона, поэтому перед редактированием необходимо сделать копию данного файла для быстрого восстановления работы сайта, если будут допущены какие-либо ошибки.
Для xslt есть более подробный пример с шаблоном в статье Несколько_изображений_к_товару_средствами_модуля_Фотогалереи
3 Вариант
Также, можно создать поле типа "составное", а у его элементов добавить поле типа "изображение". Данный вариант подробно описан в статье Несколько_изображений_к_товару_средствами_дополнительных_полей.
4 Вариант
Если Вы используете xslt шаблонизатор, то Вы можете воспользоваться статьей Несколько_изображений_к_товару_средствами_протокола_ufs. В этом способе не нужно плодить поля и использовать модуль "Фотогалереи".