MediaWiki/Формы
Общая информация
Форма - это удобный способ заполнения шаблонов. С помощью форм можно создавать и редактировать страницы (основанные на шаблонах), создавать запросы поиска. Формы предоставляются расширением Page Forms. Все формы можно посмотреть на специальной странице Служебная:Forms.
Для ссылки на форму (для её вызова) можно использовать следующие функции парсера:
- #forminput
- #formlink
- #formredlink -- вызов формы для не существующей страницы
- #queryformlink -- вызов формы запроса
- #default_form -- добавление закладки (таба) "Редактировать с помощью формы" в меню
Кнопка вызова формы (#formlink)
Для создания ссылки Загрузить изображение на форму Изображение можно использовать два способа:
1) Ссылка на спец страницу:
[[Special:FormEdit/Изображение/|Загрузить изображение]]
2) Создание кнопки:
{{#formlink:form=Изображение | link text=Загрузить изображение | link type=button }}
Создание новой страницы с помощью формы (#formredlink)
Форму можно привязать к ссылке и если она ссылается на несуществующую страницу, то для создания этой страницы будет вызвана указанная форма, вместо обычного окна редактирования. Это удобно использовать в шаблонах, где определяются ссылки на страницы.
Так если в шаблоне использовалась ссылка
Автор: [[{{{автор|}}}]]
то для создания страницы с помощью формы "Карточка личности" пишем:
Автор: {{#formredlink:target={{{автор|}}}|form=Карточка личности}} }}
Если при этом хотим задать семантическое свойство "Имя":
Автор: {{#formredlink:target={{{автор|}}}|form=Карточка личности}}}} {{#set:Имя={{{автор|}}} }}
Если параметр может принимать несколько значений, разделённых запятой:
{{#arraymap:{{{автор|}}}|,|@@| {{#set:Имя=@@}} {{#formredlink:target=@@|form=Карточка личности}} }}
Создание новой страницы, как подстраницы для существующей страницы
Указать родительскую страницу для вновь создаваемой страницы можно с помощью запроса в параметре super_page:
- {{#forminput:form=Название формы|size=40|query string=super_page=Родительская страница|placeholder=Текст в поле ввода|autocomplete on category=Категория для предложения автозаполнения}}
Добавление закладки "Редактировать с помощью формы" (#default_form)
Есть несколько способов добавить закладку со ссылкой на форму. Различаются они тем, куда добавить строку привязки к форме:
{{#default_form:Название формы}}
- Для отдельной страницы -- непосредственно на страницу, либо в шаблон, который она использует
- Для всех страниц в категории - на страницу описания категории, например: Категория:Использующие форму Изображение
- Для пространства имён - на страницу описания пространства имён, например: Проект:Участник (Project:User)
Выше приведено перечисление в порядке приоритета в случае пересечения разных форм по умолчанию, т.е. в первую очередь система смотрит задана ли форма по умолчанию для страницы, если да, то дальнейшие формы игнорируются. Если нет, то используется форма для категории, а для пространства имён игнорируется.
- Чтобы скрыть закладку, но оставить привязку, используйте строку:
<span style="display:none">{{#default_form:Название формы}}</span>
- Чтобы принудительно убрать привязку (например для отдельных страниц из категории):
{{#default_form:}}
- подробнее на официальном сайте.
Загрузка изображения с помощью формы
Для загрузки изображения в форму из этой же формы нужно в соответствующий тэг field добавить параметр uploadable. А чтобы имя формы содержало имя файла нужно указать параметр page name в тэге info:
<includeonly>{{{info | page name=Файл:<Изображение[имя файла]> | create title=Новое описание изображения | edit title=Изменение описания изображения }}} {{{for template|Изображение}}} {| class="formtable" ! Файл: | {{{field | имя файла | input type=text | uploadable}}} [[Служебная:Список_файлов|все]], [[Служебная:Журналы/upload|последние]] ...
А в шаблоне, связанном с этой формой определить свойство с именем файла: .
{| class="wikitable" |- | Имя файла | {{{имя файла|}}} {{#set: Файл=Файл:{{{имя файла|}}} }} ...
- Полезные ссылки
Если не работает окно загрузки по умолчанию (использующее библиотеку FancyBox), то можно включить в LocalSettings.php упрощенный вариант:
$wgPageFormsSimpleUpload = true;
Выбор из списка
|- ! Поле с предопределённым списком: | {{{field |параметр |input type=dropdown |values=Первое значение, Второе значение, Третье значение |existing values only|default=Третье значение|size=40}}}
См. также
- Defining forms -- описание всех возможных параметров формы