В Tiddler, как перечислить все его поля и их значения?

#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>