我正在开发一个管理员生成器模块。在用户使用过滤器之前,我想隐藏项目列表。所以我想检查一下,过滤器表单是否已发送。
indexSuccess.php
我可以在模板中检查这个变量吗?
我正在开发一个管理员生成器模块。在用户使用过滤器之前,我想隐藏项目列表。所以我想检查一下,过滤器表单是否已发送。
indexSuccess.php
我可以在模板中检查这个变量吗?
当用户提交过滤器时,过滤器存储在会话中。
因此,在您的模板中,您可以通过调用会话来访问定义的过滤器。如果您没有默认过滤器,它将返回一个空数组(sfOutputEscaperArrayDecorator
如果您使用输出保护可能是这样)。
例如,如果您的模块名称是car
,您可以使用以下方法在模板中获取过滤器:
$filters = $sf_user->getAttribute('car.filters', null, 'admin_module');
如果你使用输出保护,你可以这样做:
$filters = sfOutputEscaper::unescape($sf_user->getAttribute('car.filters', null, 'admin_module'));
如果你没有过滤器,你会得到这样的东西var_dump
(使用第一个解决方案):
object(sfOutputEscaperArrayDecorator)[181]
private 'count' => int 0
protected 'value' =>
array
empty
protected 'escapingMethod' => string 'esc_specialchars' (length=16)
第二个:
array
empty
例如,如果您定义了一些过滤器,您将获得:
array
'model' =>
array
'text' => string 'test' (length=4)
'updated_at' =>
array
'from' => null
'to' => null
'created_at' =>
array
'from' => null
'to' => null