Плагин позволяет создавать дополнительные поля. В полях можно добавлять файлы и картинки, создавать дополнительные описания, инфо-блоки с текстовым контентом или HTML кодом, а также добавлять всевозможную необходимую дополнительную информацию к категориям, продуктам и страницам магазина.Для продуктов доступно массовое редактирование при просмотре списка товаров.Примеры применения плагина смотрите в использовании.
- В продуктах
- В категориях
- На страницах витрины
Какие проблемы решает плагин?
- Добавление картинок категорий
- Добавление файлов и картинок: инструкции, схемы, софт, драйвера, гарантии, сертификаты и т.д.
- Создание дополнительных описаний, примечаний, инфо-блоков.
Типы полей
- Простое текстовое поле
- Поле многострочного текста
- Поле с визуальным редактором HTML
- Поле для выбора из нескольких вариантов значений
- Поле для загрузки картинки
- Поле для загрузки любых файлов
Загрузка файлов
Доступна загрузка файлов с компьютера, а также для удобства по ссылке из интернета.При загрузке картинок можно установить опции обрезания и изменения размеров изображения.
Массовое редактирование
Для удобства заполнения в списке продуктов доступно массовое редактирование.Есть возможность скрывать ненужные для изменения поля.После редактирования можно сохранять все данные сразу или отдельно для определенного товара.
Области применения плагина очень широки! Любые поля, любые значения и вывод в нужном вам месте!
Картинка категории
Для добавления картинки категории создайте поле с типом IMAGE (Картинка) и ключом например: image.
В интерфейсе редактирования категории в созданном поле загрузите картинку.
Далее для добавления показа картинки перейдите в редактирование дизайна (Магазин->Витрина->Шаблоны) выберите файл
category.html
Найдите строки:
{foreach $category.subcategories as $sc}
<li><a href="{$sc.url}">{$sc.name|escape}</a></li>
{/foreach}
И добавьте вывод картинки: <img src="{$sc.params.image}" />
Например так:
{foreach $category.subcategories as $sc}
<li><a href="{$sc.url}"><img src="{$wa_url}{$sc.params.image}" />{$sc.name|escape}</a></li>
{/foreach}
Возможность добавить различные файлы к продукту:
инструкции, схемы, софт, драйвера, сертификаты и т.д.
Для добавления файла продукту создайте поле с типом FILE (Поле для загрузки файла) и ключом напримерsertifikat. Далее в шаблоне продукта в нужном месте пропишите условие показа ссылки на скачивание файла:
{if isset($product.params.sertifikat)}
<a href="{$wa_url}{$product.params.sertifikat}"> Скачать сертификат продукта</a>
{/if}
Для добавления КАРТИНКИ продукту создайте поле с типом IMAGE и ключом например
scheme.
Далее в шаблоне продукта в нужном месте пропишите условие показа картинки:
{if isset($product.params.scheme)}
<img src="{$wa_url}{$product.params.scheme}" />
{/if}
Или открытия картинки по ссылке:
{if isset($product.params.scheme)}
<a href="{$wa_url}{$product.params.sheme}"><img src="{$wa_url}{$product.params.scheme}" /></a>
{/if}
Дополнительное описание категории
Для добавления дополнительного описания можно использовать поля с типом
В нужное место поставьте вывод описания: {$category.params.description2}
Использование разных шаблонов дизайна в категориях, продуктах или страницах
Для добавления возможности принудительного задания шаблонов дизайна создайте поле с типом SELECT (Поле с вариантами выбора) и например c ключомtype. Добавьте значения с именами файлов шаблонов например:section, subsection, table, two_column....
Затем создайте файлы по схеме action.type.html, где
Код для основного файла экшена на примере категории:
{$category_file = "category.default.html"}
{if isset($category.params.type) && !empty($category.params.type)}
{$category_file = "category.`$category.params.type`.html"}
{/if}
{include file=$category_file}
Теперь при выборе параметра будет подгружаться определенный шаблон, в зависимости от выбранного типа или шаблон по умолчаниюcategory.default.html.
Показ или скрытие пунктов меню из категорий или страниц
Создайте поле с типом SELECT и ключом например: top_menu. Добавьте два вариантавыбора 1 и 0 - показывать или не показывать в меню. Для примера будет использоваться верхнее менюсостоящее из страниц витрины, но также можно делать и с любым другим меню.
Код меню:
{foreach $shop_pages as $page}
<li{if strlen($page.url)>1 && $wa->currentUrl()|strstr:$page.url} class="selected"{/if}> <a href="{$page.url}">{$page.name}</a>
</li>
{/foreach}
Затем в самом меню добавьте условие показа:
{if isset($page.top_menu) && $page.top_menu=='1'}
ТУТ КОД ТЕГА <LI>
{/if}
В итоге код будет таким:
{foreach $shop_pages as $page}
{if isset($page.top_menu) && $page.top_menu=='1'}
<li{if strlen($page.url)>1 && $wa->currentUrl()|strstr:$page.url} class="selected"{/if}>
<a href="{$page.url}">{$page.name}</a>
</li>
{/if}
{/foreach}
Или наоборот условие исключения:
{if isset($page.top_menu) && $page.top_menu=='0'}
{else}
ТУТ КОД ТЕГА <LI>
{/if}
Принудительное указание заголовка H1 отличного от основного названия страниц, продуктов и категорий.
Для установки другого заголовка создайте поле с типом INPUT (Текстовое поле) и ключом
{if isset($product.params.h1)}
{$product.params.h1}
{else}
{$product.name}
{/if}
Создание блока "Важно" для страниц с текстом или HTML кодом, обычно он располагается в отдельной колонке дизайна.
Для создания блока создайте поле с типом HTML (Визуальный редактор кода) сключом left_block. Затем в шаблоне дизайна сделайте блок куда будет подставляться контент. В моемпримере используются страницы. После оберните блок в условие наличия параметра:
{if isset($page.left_block)}
ТУТ начало контейнера блока<DIV>
{$page.left_block}
ТУТ конец контейнера блока</DIV>
{/if}
Для задания одного и того же текста не дублируя его со страницы на страницу, после ввода разных значений на разных страницах, поменяйте тип на SELECT (Выбираемое поле), все установленные на страницах значения будут импортированы как значения выбора, таким образом в дальнейшем можно будет выбирать тексты блока. Или изначально используйте поле SELECT.
Примечание к продукту или второе описание.
Примечание к продукту делается по аналогии с Дополнительным описанием категории или "блока Важно".
Вывод параметров на витрине:
Вывод доп. параметров через хелпер в любом месте витрины
Получение всех доп. параметров в массив:
Для продукта - {$params = shopAdvancedparamsPlugin::getProductParams($product.id)}
Для категории - {$params = shopAdvancedparamsPlugin::getCategoryParams($category.id)}
Для страницы - {$params = shopAdvancedparamsPlugin::getPageParams($page.id)}
теперь в переменой 0params все доп. параметры
Далее получение нужного параметра делается по ключу поля например для поля с ключом opisanie2
{$param = $param['opisamie2']}
Вывод одного определенного параметра по ключу поля
Для продукта - {$param = shopAdvancedparamsPlugin::getProductParam($product.id, 'key')}
Для категории - {$param = shopAdvancedparamsPlugin::getCategoryParam($category.id, 'key')}
Для страницы - {$param = shopAdvancedparamsPlugin::getPageParam($page.id, 'key')}
В переменной $param будет находится объект параметра
В объекте поддерживается вывод следующих значений
- Значение доп. параметра - {$param->getValue()}
- Название поля - {$param->getTitle()}
- Все возможные значения поля (для полей с выбираемым типом) - {$param->getValues()}
- Значение поля по умолчанию (для полей с выбираемым типом) - {$param->getDefault()}
Установленные значения полей доступны по ключам в переменных:
- Для продукта - {$product.param.key}
- Для категории - {$category.param.key}
- Для страницы - {$page.key}
Где key - ключ дополнительного параметра.
Для правильного вывода параметров на витрине в шаблонах дизайна необходимо добавлять условие проверки существования установленного значения условием:
{if isset( $переменная_параметров.key )}
{ $переменная_параметров.key }
{/if}
Важно: Для полей файловых типов в значениях будет храниться ссылка на файл относительно корня установки.
Для поля FILE рекомендуется создавать ссылку на скачивание
<a> href="{0wa_url}{0product.param.key}">Инструкция товара</a>
Для вывода картинки (поле IMAGE) необходимо заключать значение параметра в тег <img>
<img src="{0wa_url}{0product.param.key}" />
перед обновлением для правильного вывода файлов измените вывод в шаблонах с:
{$action.params.key} где action = product или category
на: {$wa_url}{$action.params.key}
для страниц c:
на {$wa_url}{$page.key}
Проблема была: не дает сохранить доп параметр yandexmarket.condition-reason
Evgeny Chernolutsky
WELLDI.RU
Den
WebS
Shop-Script Fan
Приходится использовать сторонний загрузчик (ftp или встроенный файл-менеджер) и поле типа Input для указания только URL загруженного изображения, но это два действия, а хотелось бы использовать именно загрузку изображений как изначально задумано и делать это в одно действие.
Как отключить изменение параметров качества картинки при загрузке?
replicant
Приходится использовать сторонний загрузчик (ftp или встроенный файл-менеджер) и поле типа Input для указания только URL загруженного изображения, но это два действия, а хотелось бы использовать именно загрузку изображений как изначально задумано и делать это в одно действие.
Как отключить изменение параметров качества картинки при загрузке?
Апельсин
но очень не хватает возможности использования смарти в полях.