SubPageList (MediaWiki) — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
м (Перенаправление на 4intranet:TemplatedPageList)
 
(не показаны 23 промежуточные версии этого же участника)
Строка 1: Строка 1:
Ссылка на SVN исходников: {{SVN|vitalif/trunk/MediaWiki-SubPageList2/}}.
+
#REDIRECT [[4intranet:TemplatedPageList]]
 
+
На основе расширения MediaWiki [[mediawikiwiki:Extension:SubPageList2|SubPageList2]] в [[{{SITENAME}}]] я породил собственную вариацию на тему SubPageList’а — его можно было бы назвать «TemplatedPageList». По сути расширение продолжает серию расширений, направленных в сторону вики-программирования, что идеологически ещё неизвестно, хорошо ли, нет ли.
+
 
+
Так или иначе, код расширения переписан в хлам — предыдущий автор, видимо, был, во-первых, C’шник, а во-вторых, большой любитель избыточности в духе округления целых чисел. Всё это было выгашено из кода сраной метлой, показатель — количество строк кода, уменьшившееся почти в два раза — с 686 до 347 строк. Поведение опции <tt>category=</tt> было изменено в сторону более очевидного — в сторону ограничения выбираемого списка категорией, и выбирать теперь стало можно только по категории, а не обязательно по префиксу (родительской странице). Также была добавлена опция <tt>offset=</tt>, позволяющая указывать не только максимальное количество выбираемых страниц, а также и «смещение» от начала списка. Кроме того, было добавлено препроцессирование кода включаемых страниц, что означает правильную обработку [[mediawikiwiki:Help:Magic Words|магических слов]] типа REVISIONDAY.
+
 
+
Но это всё не главное: главное, что расширение теперь работает на шаблонах — оцпией <tt>template=</tt> передаётся имя шаблона, который будет обработан для каждой страницы и дописан в текст.
+
 
+
Шаблону передаются следующие параметры:
+
 
+
;index: Номер страницы в списке, начиная с 0.
+
;number: Номер страницы в списке, начиная с 1.
+
;odd: 1, если номер страницы нечётный (начиная с 1), и 0 иначе.
+
;title_full: Полное название страницы.
+
;title: Полное название без пространства имён.
+
;title_rel: Название страницы без названия родительской страницы.
+
;title_last: Последняя секция названия страницы (да, я знаю, что это можно сделать через [[mediawikiwiki:Extension:ParserFunctions|Parser Functions]]).
+
;content: Полное содержимое страницы.
+
;first_section: Первая секция страницы.
+
;have_next: 1, если страница имеет секции, кроме первой, и 0 иначе.
+
 
+
[[Категория:Разработка]]
+
[[Категория:MediaWiki]]
+

Текущая версия на 18:40, 28 июня 2011

Перенаправление на: