0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 23686 Просмотров
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
В установочных файлах (XML) модулей и плагинов есть параметры, отображаемые в их настройках
Например:
<params>
   <param name="@spacer" type="spacer" default="" label="" description="GENERALDESC" />
   <param name="data_format" type="text" default="d.m.Y" label="DATAFORMATLABEL" description="DATAFORMATDESC" />
   <param name="category" type="category" default="" label="Category" description="CATEGORYDESC" />
   <param name="file_select" type="filelist" default="index.php" label="FRONTTEMPLATELABEL" directory="/plugins/content" filter="\.htm$|\.html$|\.php$" hide_none="1" hide_default="1" description="FRONTTEMPLATEDESC" />


name - Имя параметра (обращение к параметру в коде ..)
type - тип параметра (см. ниже)
default, label, description - общие тэги параметров
directory, filter, hide_none... - дополнительные тэги и зависят от типа параметра.

У каждого параметра есть тип отображения и, зависящие от этого, дополнительные тэги.
Типы параметров бывают (в скобках указаны аналоги для 1.0):
  • category (mos_category) - список категорий
    доп.тэги:
    class - класс оформления элемента (если не указано, то будет использован класс "inputbox" )
    section - область просмотра (scope) разделов, по которым будут отбираться категории (если не указано, то будет использована область "content" )
    scope - область просмотра раздела (то же самое, что и section)

  • calendar - поле с календарем
    доп.тэги:
    class - класс оформления элемента (по умолчанию "inputbox" )
    format - формат даты (по умолчанию '%Y-%m-%d')

  • editors - ниспадающий список доступных редакторов

  • filelist (filelist) - список файлов из указанной папки
    доп.тэги:
    directory - папка листинга файлов
    filter - список фильтров расширений (на regex-е)
    exclude - перечень исключаемых файлов
    stripext - фильтр отображаемого текста
    hide_none - 0 или 1. Указывает скрывать значение "не выбрано". Если не использовать тэг, то показывать.
    hide_default - 0 или 1. Указывает скрывать значение "по-умолчанию". Если не использовать тэг, то показывать.

  • folderlist - список файлов из указанной папки
    доп.тэги:
    filter - regex-фильтр имен папок
    exclude - перечень исключаемых папок
    directory- папка листинга файлов
    hide_none - 0 или 1. Указывает скрывать значение "не выбрано". Если не использовать тэг, то показывать.
    hide_default - 0 или 1. Указывает скрывать значение "по-умолчанию". Если не использовать тэг, то показывать.

  • helpsites - список сайтов помощи (на разных языках)
    перечень сайтов помощи (по-умолчанию, берётся из файла /administrator/help/helpsites-15.xml )

  • hidden - обычное скрытое поле
    доп.тэги:
    class - по умолчанию "text_area"

  • imagelist (imagelist) - список графических файлов из указанной папки (то же, что и filelist, но с заранее предустановленным фильтром: .png, .gif, .jpg, .bmp, .ico)
    доп.тэги:
    filter - regex-фильтр имен файлов, по умолчанию '\.png$|\.gif$|\.jpg$|\.bmp$|\.ico$'

  • languages - список языков
    доп.тэги:
    client - тип доступа (по имени пользователя)

  • list(list) - список перечисленных опций
    доп.тэги:
    class - класс оформления элемента
    value - перечисление через <option ...

  • menu (mos_menu) - список меню

  • menuitem - список пунктов указанного меню
    доп.тэги:
    state - опубликовано/неопубликовано
    disable - даже не знаю, какой смысл в этом параметре

  • password - поле ввода пароля
    доп.тэги:
    class - класс оформления элемента
    size - ширина поля

  • radio (radio) - список "радиокнопок" (выбор указанной опции через <option...)

  • section (mos_section) - список разделов

  • spacer (spacer) - разделитель

  • sql - получить список запросом из БД
    доп.тэги:
    query - SQL-запрос
    key_field - имя ключевого поля списка
    value_field - имя поля данных списка

  • text (text) - обычное текстовое поле
    доп.тэги:
    class - класс оформления элемента
    size - ширина поля

  • textarea (textarea) - текстовое многострочное поле
    доп.тэги:
    class - класс оформления элемента, по умолчанию "text_area"
    cols - ширина поля
    rows - кол-во строк поля

  • timezones - список выбора временной зоны

  • usergroups - список групп пользователей
    class - класс оформления элемента, по умолчанию "inputbox"
    size - ширина поля
    multiple - вкл/выкл множественный выбор

« Последнее редактирование: 26.04.2009, 19:56:26 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Типы параметров модуля/плагина
« Ответ #1 : 27.04.2009, 12:12:44 »
Спасибо beliyadm, напомнил про группировку параметров.

Итак, группировка параметров в стиле "аккордеона" осуществляется "обрамлением" списка параметров с указанием именем группы.

Вот такая схема:
<params>
    ... список параметров ...
</params>
<params group="advanced">
    ... список паарметров ...
</params>

если имя группы не указывать, то она считается группой "по умолчанию"

теперь более полный пример:
Код: xml
<params group="email">
<param name="show_email_form" type="radio" default="1" label="Email Form" description="Show/Hide the email to form">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>
<param name="email_description" type="text" size="30" default="" label="Description text" description="PARAMEMAILDESCTEXT" />
<param name="show_email_copy" type="radio" default="1" label="Email Copy" description="PARAMEMAILCOPY">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>
<param name="banned_email" type="textarea" default="" label="BANNED EMAIL LABEL" rows="3" cols="30" description="BANNED EMAIL DESC" />
<param name="banned_subject" type="textarea" default="" label="BANNED SUBJECT LABEL" rows="3" cols="30" description="BANNED SUBJECT DESC" />
<param name="banned_text" type="textarea" default="" label="BANNED TEXT LABEL" rows="3" cols="30" description="BANNED TEXT DESC" />
</params>
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Типы параметров модуля/плагина
« Ответ #2 : 28.04.2009, 01:54:06 »
так. нарисовалась интересная штука -
при указании группы параметров можно применять атрибут addpath. например:
<params addpath="/modules/папка_модуля/путь...">
...
        <param ... type="имятипа" ... />
...
</params>

в результате, Joomla из указанной папки подгрузит файлы ,в которых будет подключать....классы для дополнительных форматов типов параметров

содержимое файла:
class JElementИмяТипа extends JElement {

   var   $_name = 'ИмяТипа';

   function fetchElement($name, $value, &$node, $control_name) {
      ...
      return ...
   }
   
}
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна помощь в исправлении ошибок модуля

Автор megaboy161

Ответов: 16
Просмотров: 297
Последний ответ 20.01.2020, 18:00:44
от sivers
AJAX для модуля на 1.5

Автор voland

Ответов: 2
Просмотров: 752
Последний ответ 04.03.2016, 12:08:41
от b2z
Сортировка статей по итоговому рейтингу плагина Extravote. Предлагаю коллективный мозговой штурм!

Автор deniro21

Ответов: 3
Просмотров: 4533
Последний ответ 04.03.2012, 23:56:54
от SamDecKs
Как получить ID для каждого выводимого модуля на странице

Автор enshtein

Ответов: 6
Просмотров: 4617
Последний ответ 12.01.2012, 08:54:19
от enshtein
Модуля кнопка с кодом для Joomla 1.5 или Наш баннер,

Автор leo78

Ответов: 12
Просмотров: 7078
Последний ответ 19.12.2011, 00:35:25
от leo78