Next Generation CMS - Управляйте контентом без границ!
Создавай
Развивай
Управляй
Актуальная v.0.9.8
Плагин xfields

Плагин xfields

ID: xfields
Name: Custom fields
Version: 0.32
Acts: core, admin:mod:news, admin:mod:categories
File: xfields.php
Actions: rpc;lib/librpc.php
Config: config.php
Install: install.php
Deinstall: uninstall.php
Type: plugin
Description: Дополнительные поля
Author: Vitaly A. Ponomarev
Title: Дополнительные поля
Information: Позволяет создавать пользовательские дополнительные поля в новостях.
Плагин "дополнительные поля" позволяет Вам создавать в новостях свои
собственные поля данных и использовать эти поля в шаблоне вывода новостей.
Такая возможность полезна и позвляет значительно расширить функционал движка.

Поддерживаемые типы дополнительных полей:
* текстовый - обычное в которое при добавлении/редактировании новости может
быть добавлена любая строка.
* выбор значения - при создании поля администратор задаёт возможные варианты
выбора, а при добавлении/редактировании новости можно выбрать один из заранее
установленных администратором вариантом
* текстовый блок - блок текста, поддерживающий многострочный контент. при этом
при выводе информации между строками добавляется тег HTML форматирования "
"
что позволяет корректно отображать многострочную информацию.

Коды, доступные в шаблонах:
При активации плагина в шаблонах становятся доступными следующие коды:
* [xfield_ИМЯ] ... [/xfield_ИМЯ] - специальный блок, который отображается только в случае, если дополнительное поле с ID "ИМЯ" заполнено
[!!] Если поле заполнено, но его значение = "0", то оно также не будет
отображаться.
* [xvalue_ИМЯ] - данная переменная заменяется значением поля с ID "ИМЯ"

Следующие переменные доступны в TWIG шаблонах, а также при использовании условного
блока [TWIG]..[/TWIG] в обычных шаблонах.
Обратите внимание, все переменные находятся в адресном пространстве p.xfields, т.е.
переменная ИМЯ.type доступно как p.xfields.ИМЯ.type

* ИМЯ.type - тип переменной (text, textarea, select, images)
* ИМЯ.title - название поля
* ИМЯ.value - значение переменной для всех типов кроме images
Для переменной типа images выводятся переменные:
* ИМЯ.count - кол-во изображений
* ИМЯ.value - "отрисованный" TWIG шаблон news.show.images.tpl (при его наличии)
* ИМЯ.entries - содержит список изображений, формат. см. в формател поля 'entries' шаблона news.show.images.tpl

// Для наглядности (и понимания списка доступных переменных) можно использовать TWIG функцию debugValue,
// например так: {{ debugValue(p.xfields) }} - будут выведены все доступные доп. поля и их параметры/значения

Специальные шаблоны:
Для отображения полей типа `images` (группа изображений) существует специальный TWIG шаблон
(находится в каталоге плагина) news.show.images.tpl
В шаблоне доступны следующие переменные:
* fieldName - ID доп. поля
* fieldTitle - наименование доп. поля
* fieldType - значение 'images' (заложено на будущее для возможной поддержки разных типов полей)
* entriesCount - кол-во изображений в данном доп. поле
* entries - массив с изображениями, каждый элемент содержит следующие поля:
* flags - массив с флагами:
* hasPreview - принимает значение (1) в случае, если у изображения есть уменьшенная копия
* url - URL изображения
* width - ширина изображения
* height - высота изображения
* name - имя файла (без пути) изображения
* origName - оригинальное имя файла (при загрузке файла)
* description - описание изображения
в случае наличия уменьшенной копии также будут доступы следующие переменные:
* pwidth - ширина уменьшенной копии
* pheight - высота уменьшенной копии
* purl - URL уменьшенной копии

* execStyle - указывает режим вызова для отображения данных. Принимаемые значения:
// * short - short new display
// * full - full news display
// * export - export data [ for plugins or so on. No counters are updated ]
// * export_body - export ONLY BODY short+full [ for plugins or so on... ]
// * export_short - export ONLY BODY short [ for plugins or so on... ]
// * export_full - export ONLY BODY full [ for plugins or so on... ]
* execPlugin - указывает через какой плагин производится отображение данных. При вызове из ядра не заполняется (пусто).

Для работы с таблицами (в новостях) существует TWIG шаблон news.table.tpl (находится в каталоге плагина), он позволяет отображать информацию из таблиц.
Доступная переменная - массив entries, каждый элемент массива - строка табличных данных. В массиве доступны следующие переменные:
* num - номер записи по порядку
* id - ID записи в таблице БД ng_xfields
* field_XXX (где XXX - ID поля xfields) - значение поля XXX
* flags - массив элементов с именем field_XXX (где XXX - ID поля xfields), значение принимает TRUE если заполнено значение для данной переменной

Пример использования плагина:
Допустим, вы ведёте сайт, занимающийся обзорами новых видео-карт для компьютеров.
В какой-то момент Вам захотелось кроме текста новости выводить ещё и информацию о
результатах тестирования железа в вашей лаборатории.
Тогда Вам будут полезны вот такие поля в новости:
* ID : tested
Описание: Проводилось тестирование
Тип : Выбор
Значения: 0 => Нет
1 => Да

* ID : reldate
Описание: Дата выхода на рынок
Тип : Текст

* ID : vendor
Описание: Производитель
Тип : Выбор
Значение: NVidia
ATI
VIA
Intel

* ID : multi
Описание: Поддерживает установку нескольких карт в систему
Тип : Выбор
Значение: Нет
Да
* ID : index
Описание: Индекс производительности
Тип : Текст

* ID : result
Описание: Мнение ред. коллегии
Тип : текстовый блок

В шаблон новости вы можете добавить такой блок:
[xfield_tested]
Данный адаптер был протестирован в нашей лаборатории.

Производитель: [xvalue_vendor]

Установка нескольких адаптеров в систему: [xfield_multi]

Индекс производительности: [xfield_index]

[xfield_result]Мнение ред. коллегии:
[xvalue_result]
[/xfield_tested]

В результате таких несложных действий вы получите:
1. Если вы выбрали "Да" в поле "tested", то данный блок будет отображаться.
При выборе "Нет" - не будет.
2. Мнение ред. коллегии будет отображаться только в случае, если это
мнение указано.

Кроме того, подобный подход позволит уменьшить объём работы по предварительному
форматированию новости, а также к формализации указываемой в новостях информации.

Полный список параметров, доступных для установки в дополнительном поле:
* ID - идентификатор поля
* Название - название, отображаемое в форме добавления/редактирования новостей
* Тип поля - тип поля (текстовый/текстовый блок/выбор значения)
* Значение по умолчанию
[*] Список значений (только для поля с типом "выбор значения")
* Обязательно - поле используется только для переменной с типом "выбор значения".
При установке "Да" пользователь может выбрать только из указанных вами значений
При установке "Нет" пользователю даётся возможность ничего не выбирать (добавляется
пустой элемент в начало списка)

Скачать:xfields.zip

Добавить комментарий

  • captcha

Русский English Deutsch Français Español Українська Қазақша
up