【问题标题】:MediaWiki - How to use all images from a Category in a galleryMediaWiki - 如何在图库中使用类别中的所有图像
【发布时间】:2019-06-07 09:48:55
【问题描述】:

我已经在文件上设置了描述:

{{Information
  |description = A cheeky description
}}

我已尝试成功使用此CategoryGallery,但无法使描述生效:

我还使用了所需的额外extension,他们谈论的是short_summary,但是据我在Information template 中看到的,这并不存在

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

那么我如何通过 MediaWiki 在图库中使用类别图像?

【问题讨论】:

    标签: media mediawiki categories mediawiki-extensions


    【解决方案1】:

    Cargo 可能对此有点过头了(您没有提到要为所有图像保存任何元数据)。

    我个人使用DPL,它可以让你做一些很酷的分类技巧,你可以查看manual,但至于你的情况:

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

    这个非常简单的例子,但是你可以控制查询中的输出格式(阅读我提到的手册)。

    DPL 就是为这种情况而构建的。

    【讨论】:

    【解决方案2】:

    如果您不介意使用不同的扩展程序,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 字段来指向实际文件。

    【讨论】:

    • 啊山姆,了不起的伙伴 :) 使用 {{#cargo_query...}} 我将如何定位 Aubry 类别?不过我现在已经设置好了货物,一切都很好!
    • 你的想法萌芽:)
    • 您是否使用模板向 Aubry 类别添加内容?如果没有,我不确定是否有简单的方法;我建议将类别包含在所有相关页面上使用的模板中。 (抱歉回复慢。)
    • 有趣,我从来没有想过使用模板。现在,我在每次上传时都用一个类别标记文件。如此处所示:gwart.co.uk/…
    • 哦,太好了!很高兴听见。不用担心赏金;一切都只是虚构的互联网点。 :-) 如果您还有其他问题,可以在#mediawiki IRC 上聊天。
    【解决方案3】:

    稍加准备,如果您已将 wiki 的货物设置为使用 "$wgCargoPageDataColumns[] = 'categories';" 存储类别,您应该能够使用 '_categories'在 LocalSettings.php 中

    示例...

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

    上面应该给出“Foo”类别中文件的名称。

    要显示图像,请将字段更改为... |fields=CONCAT('[[file:', MyTable._pagename, '|thumb]]')

    【讨论】:

    猜你喜欢
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多