MediaWiki - Как использовать все изображения из категории в галерее

Я установил описание файла:

{{Information
  |description = A cheeky description
}}

Я попытался использовать эту CategoryGallery успешно, но я не могу заставить работать описания:

Я также использовал необходимое дополнительное расширение, они говорят о short_summary Однако это не существует, насколько я могу видеть в шаблоне информации

<catgallery cat="Aubry" bpdcaption="short_summary" />

Так как же использовать изображения категорий в галерее с MediaWiki?

3 ответа

Решение

Для этого груз может оказаться излишним (вы не упомянули, что сохраняете метаданные для всех изображений).

Я лично использую DPL, который позволяет вам делать несколько классных трюков с категориями, вы можете проверить руководство, но как для вашего случая:

{{#dpl:
category=all_photos
|mode=gallery
}}

это очень простой пример, но вы можете контролировать формат вывода в запросе (читайте в руководстве, которое я упомянул).

DPL построен для этого сценария.

Если вы не возражаете против использования другого расширения, Cargo может сделать это довольно легко (а также множество других полезных вещей).

В Template:Artwork сделать что-то вроде:

<noinclude>
{{#cargo_declare: _table = artworks
| description = Wikitext
| artist = Page
}}
</noinclude><includeonly>
{{#cargo_store: _table = artworks
| description = {{{description|}}}
| artist = {{{artist|}}}
}}
</includeonly>

; Description
: {{{description}}}
; Artist
: [[{{{artist}}}]]

И тогда, где вы хотите галерею (например, на странице для художника), сделайте что-то вроде:

{{#cargo_query: tables = artworks
|fields = _pageName, description, artist
|where = artist = '{{PAGENAME}}'
|format = gallery
|caption field = description
|show filename = 0
|show dimensions = 0
|show bytes = 0
}}

Это предполагает, что шаблон Artwork используется на страницах файлов; если бы вы хотели использовать главную страницу для каждой иллюстрации, вы могли бы сделать что-то похожее, но пришлось бы вводить отдельную image поле, которое указывает на фактический файл.

После небольшой подготовки вы сможете использовать '_categories', если вы настроили груз вики для хранения категорий, используя "$wgCargoPageDataColumns[] = 'categories';" в LocalSettings.php

пример...

      {{#cargo_query:
tables=MyTable
|where=MyTable._categories HOLDS 'Foo'
|fields=MyTable._pageName
}}

Вышеупомянутое должно дать имя файлам в категории «Foo».

Чтобы показать изображения, измените поля на... |fields=CONCAT( '[[file:', MyTable._pagename, '|thumb]]' )

Другие вопросы по тегам