Неисправность автогенерации списка ссылок
У меня есть страница в моей вики (v5.1.17), которая должна автоматически генерировать список ссылок на тиддлеров, которые нуждаются в каком-то последующем наблюдении. Появляется то, что соответствует одному из двух критериев: с тегом "needs_followup" или заголовок начинается с "/followup/".
Вот мой код:
<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]" variable=entry>
<$link><<entry>></$link><br/>
</$list>
Список элементов работает нормально, за исключением того, что они не являются кликабельными ссылками. Они выглядят как ссылки - синие и подчеркнутые - но нажатие на них ничего не делает. Может кто-нибудь сказать, пожалуйста, что я делаю не так?
0 ответов
Список элементов работает нормально, за исключением того, что они не являются кликабельными ссылками.
Проблема возникает из-за того, что вы изменили переменную, в которой виджет списка хранит заголовки. Обычно виджет списка хранит текущий заголовок в переменной с именем <<currentTiddler>>
:
Это имя переменной хорошо известно другим виджетам, например, виджет ссылки будет искать эту переменную, когда нет to
атрибут указан.
Однако ваш экземпляр виджета списка сохраняет текущий заголовок в переменной с именем entry
что не понято <$link>
виджет.
Они выглядят как ссылки - синие и подчеркнутые - но нажатие на них ничего не делает.
На самом деле, они являются "настоящими" ссылками, а также переходят по нажатию: виджет ссылок разрешит тиддлер, в котором ваш код отображается как <<currentTiddler>>
и попробуйте связать с этим тиддлером (похоже, он вообще не связывается, потому что у вас, вероятно, нет эффекта прокрутки).
Может кто-нибудь сказать, пожалуйста, что я делаю не так?
Решение 1) Следовательно, решение состоит в том, чтобы добавить to
и установите его в <<entry>>
:
<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]" variable=entry>
<$link to=<<entry>>><<entry>></$link><br/>
</$list>
Решение 2) Вместо настройки to
Вы также можете сделать следующее:
<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]" variable=entry>
<$set name="currentTiddler" value=<<entry>>>
<$link><<entry>></$link><br/>
</$set>
</$list>
Решение 3) Или вы можете удалить variable=entry
в целом
<$list filter="[prefix[/followup/]] [tag[followup_needed]] +[sort[title]]">
<$link><<currentTiddler>></$link><br/>
</$list>
Оффтоп: вы также можете использовать $view
виджет для отображения заголовка, чтобы избежать автоматической викификации заголовков PascalCase в виде ссылок: <$link to=<<entry>>><$view field="title" /></$link>