这是我当前的同上调用,它在模板变量中仅选择了 west 时有效(模板变量是一个复选框)。选择多个复选框时,我需要使其工作。
[[Ditto? &parents=`5` &depth=`1` &tpl=`map_person` &orderBy=`lastname ASC` &filter=`district,West`]]
&filter 应该使用 field,criteria,mode 所以如果它只适用于那些有 West 检查过的人,你应该这样写:
&filter=`West,2,1|East,1,1|South,1,1|North,1,1`
所以它说:选择一个文件,检查西,东不检查,南不检查,北不检查。
您还可以创建一个片段来执行此操作并遍历 parent=5 的子代,并回显一个带有所有子代 ID 的逗号分隔列表,并将它们放在 &documents 参数中。像这样的东西:
[[Ditto? &documents=`[!FindExclusive? &district=`West` &parentid=`5`!]`]]
在 Snippet-code 中,您可以编写如下内容(此处仅为伪代码):
$children = get all children from $parentid;
$documents = new Array();
foreach $children['id']{
Get the checkboxes from this child
Check if only the $district checkbox is checked
if it is true then fill inn the id in $documents-array
}
echo implode(',',$documents);
这将生成仅检查了 West 的以逗号分隔的文档列表。您可以对东、北和南使用相同的代码段。