Modx同上调用和复选框

时间:2011-04-25 19:57:43

标签: modx ditto

这是我当前的同上调用,只有在模板变量中选择了west时才有效(模板变量是一个复选框)。当选择多个复选框时,我需要让它工作。

[[Ditto? &parents=`5` &depth=`1` &tpl=`map_person` &orderBy=`lastname ASC` &filter=`district,West`]]

1 个答案:

答案 0 :(得分:1)

&过滤器应该使用字段,条件,模式,所以如果它只适用于那些已经检查过West的人,你应该这样写:

&filter=`West,2,1|East,1,1|South,1,1|North,1,1`

所以它是这样的:选择一个文件,检查West是否已经过东方检查,而且未检查南方并且未检查过North。

您还可以创建一个执行此操作的代码段并通过parent = 5的子代,并回显一个包含所有子ID的逗号分隔列表,并将它们放在& documents参数中。像这样:

[[Ditto? &documents=`[!FindExclusive? &district=`West` &parentid=`5`!]`]]

在Snippet代码中你可以写这样的东西(这里只有伪代码):

$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检查的文档的逗号分隔列表。你可以在东,北,南使用相同的代码片段。