2

セマンティッククエリの結果があります。プロパティの 1 つであるコンマ区切りのリストについて、各項目を区切り、パラメーターとしてテンプレートに渡したいと考えています。しかし、私はこれを行う方法を見つけるのに苦労しています。

例えば;

クエリ:

{{#ask: [[Category:Something]] [[Has title::Somethingelse]]
| mainlabel=-
| ?Has property
| link=none
| format=template
| template=plainText
}}

プレーンテキスト テンプレートには、カンマ区切りのリストである結果が含まれます。ここで、plainText テンプレートからカンマ区切りのリストを分離し、各値をパラメーターとして別のテンプレートに入れたいと思います。

使ってみたのですが、テンプレート{{#arraydefine:key|values|delimiter|options}}に渡すと値が渡されません。{{#arrayindex:key|0}}配列全体が 0 で区切られて渡されます。etc も使用してみまし{{#vardefine:たが、これも変数を渡しません。

私の質問は、変数をテンプレートに渡す方法ですか?

ありがとう、

4

1 に答える 1

0

分離はテンプレートで行う必要があります。http://semantic-mediawiki.org/wiki/Template:Query_output_demoのような匿名引数を使用する場合

パラメータは、次のようなデフォルトで取得できます。

{{{1|param1default}}} {{{2|param2default}}} ...

これで、params の 1 つがカンマ区切りのリストになりました。あなたは使用したいかもしれません

#explode

CSV のさまざまな部分に到達するためのパーサー関数。次に、2 番目のパラメーターに csv があるとします。

{{#explode:{{{2}}}|;|0}}
{{#explode:{{{2}}}|;|1}}
...

フィールドを提供します。

これが機能するには、拡張機能が必要です

https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions##explode

そこの指示に従って有効にします。

于 2015-06-29T19:54:40.953 に答える