#tiddlywiki #tiddlywiki5
#tiddlywiki #tiddlywiki5
Вопрос:
Используя TiddlyWiki, я пытаюсь показать в конкретном Tiddler подмножество всех полей этого tiddler с их значениями.
Проблема в том, что, хотя я могу перечислить имена всех соответствующих полей, я не могу напечатать их значение.
Мой текущий код:
<$list filter="[fields[]prefix[Result_]sort[title]]" template="$:/zx/ListFieldItemTemplate"/>
… целью которого является перечисление всех полей, начинающихся с Result_
.
(Упрощенный) шаблон $:/zx/ListFieldItemTemplate
:
<div>
<$view field="title"/>
</div>
Я боюсь, что виджет списка отправляет только имена полей, а не значения, что означает, что нет способа получить это значение из шаблона. Поэтому мне, возможно, тоже придется как-то отправлять значения. Но я не знаю как.
Ответ №1:
Одна из возможностей — использовать макрос.
В вашем tiddler поместите следующий вызов макроса:
<<myMacro prefix:"Result_">>
(Цель состоит в том, чтобы отфильтровать поля только для тех, которые начинаются с «Result_».)
Затем создайте новый tiddler, имя которого не важно, но которое должно содержать тег $:/tags/Macro
, чтобы сделать этот макрос доступным для всего мира. И в этом tiddler напишите следующий код:
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
Конечно, затем вы можете изменить макрос, чтобы использовать собственное форматирование.
Ответ №2:
Это старая тема, но, возможно, кто-то найдет это полезным:
Перебирайте все поля и перечисляйте имя / значение:
<$list filter=»[поля[]] -[[заголовок]] -[[текст]] -[[теги]] -[[создано]] -[[изменено]]» переменная=»имя_поля»> <> = <$view field=<> />
</$list>