问题描述
我使用TiddlyWiki,试图在特定的Tiddler中显示该Tiddler所有字段的子集及其值。
问题是,尽管我能够列出所有相关字段的名称,但无法打印它们的值。
我当前的代码是:
<$list filter="[fields[]prefix[Result_]sort[title]]" template="$:/zx/ListFieldItemTemplate"/>
...旨在列出以Result_
开头的所有字段。
(简化的)模板$:/zx/ListFieldItemTemplate
是:
<div>
<$view field="title"/>
</div>
我担心列表小部件仅发送字段名称,而不发送值,这意味着无法从模板获取该值。因此,我可能还需要以某种方式发送值。但是我不知道如何。
解决方法
一种可能是使用宏。
在您的提琴手中,进行以下宏调用:
<<myMacro prefix:"Result_">>
(目的是仅将字段过滤为以“ Result_”开头的字段。)
然后,创建一个新的tiddler,其名称并不重要,但必须包含标签$:/tags/Macro
才能使该宏全局可用。然后在那个提琴手中,编写以下代码:
\define myMacro(prefix:"")
<$list filter="[fields[]prefix[$prefix$]sort[title]]" variable="fieldName">
<<fieldName>>
====
<$view field=<<fieldName>>/>
</$list>
\end
这将输出类似:
Result_MyFieldName1 ==== MyFieldValue1
Result_MyFieldName2 ==== MyFieldValue2
Result_MyFieldName3 ==== MyFieldValue3
Result_MyFieldName4 ==== MyFieldValue4
当然,您可以修改宏以使用自己的格式。