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]]' )