Jon,
Here’s a demo of what I think you’re looking for in action:
The field I’m using is vocabulary
— but as with your key
field, it’s functioning as a list of values. Each value (at least in my case) has a home tiddler, so I do want a link directly to that item, but I can also include a link to each of the tiddlers that list that term in their “vocabulary” field. I accomplish this by using a second list widget nested within the first, using the listed
filter operator.
For visual ease, I present this as a table:
<table>
<$list filter="[get[vocabulary]enlist-input[]unique[]sort[]]">
<tr>
<td><$link/></td>
<td><$list filter="[<currentTiddler>listed[vocabulary]]"/></td>
</tr>
</$list>
</table>
EDIT: I think a more semantic way — one that may be easier to follow for novices at this forum, and one that my future self could trouble-shoot or tinker with more easily — is to use a clearly-named variable in the outer list, rather than letting <currentTiddler>
track the current value within the outer list widget:
<table>
<tr>
<th>vocabulary term</th>
<th>tiddlers listing this vocabulary term</th>
</tr>
<$list filter="[get[vocabulary]enlist-input[]unique[]sort[]]" variable="this-vocab-term">
<tr>
<td><$link to=<<this-vocab-term>>/></td>
<td><$list filter="[<this-vocab-term>listed[vocabulary]]"/></td>
</tr>
</$list>
</table>