Symfony的逻辑表单具有多个元素的过滤器字段

时间:2011-07-17 02:47:46

标签: symfony1 doctrine symfony-1.4 doctrine-1.2

我正在Symfony 1.4中实现否定过滤器字段。带有1个文本输入和1个用于否定的复选框。

我可以访问输入值,如下所示

public function addXXXColumnQuery($query, $field, $value)
{
    $v = $value['text'];
    $n = 'negation_checkbox_true_or_false'; // don't know how?

    if ($n === true) 
    {
        $query->addWhere($query->getRootAlias().'.name = ?', $v);
    } 
    else if ($n === false) 
    {
        $query->addWhere($query->getRootAlias().'.name <> ?', $v);
    }
}

但我无法弄清楚如何访问复选框值。

sfWidgetFormInputFileEditable 有一个'with_delete'选项,用于打印复选框。任何人都知道检查该值的代码在哪里并删除文件?

如果我能找到,也许我可以解决这个问题。

1 个答案:

答案 0 :(得分:0)

当您创建sfWidgetFormInputFileEditable并将with_delete选项设置为 true 时,窗口小部件会呈现一个额外的复选框,该复选框以文件上传窗口小部件命名,带有“_delete”后缀。 选中该复选框后,sfParameterHolder对象的sfWebRequest包含一个以复选框小部件命名的参数。

因此,假设您有sfWidgetFormInputFileEditable名为“文件”。在您的操作中,您可以查看是否使用以下方式选中了删除复选框:

$request->hasParameter('file_delete');