【问题标题】:Logic for Symfony form filter field with more than one element具有多个元素的 Symfony 表单过滤字段的逻辑
【发布时间】:2011-07-17 02:47:45
【问题描述】:

我在 Symfony 1.4 中实现了一个 negation 过滤器字段。带有 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”选项。任何人都知道检查该值并删除文件的代码在哪里?

如果我能找到它,也许我能弄清楚。

【问题讨论】:

    标签: symfony1 doctrine symfony-1.4 doctrine-1.2


    【解决方案1】:

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

    所以,假设您有一个名为“文件”的sfWidgetFormInputFileEditable。在您的操作中,您可以使用以下命令查看是否选中了删除复选框:

    $request->hasParameter('file_delete');
    

    【讨论】:

    • 我认为你不应该在动作中处理它,而是在表单的doSave()doUpdate() 动作中。
    • 根据要实现的行为,它可能会更好。
    猜你喜欢
    • 2012-11-07
    • 2019-04-23
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    相关资源
    最近更新 更多