我正在开发一个管理生成器模块。我想隐藏项目列表,直到用户使用过滤器。所以我想检查过滤器表格是否已发送。
我可以在indexSuccess.php
模板中查看任何var吗?
答案 0 :(得分:2)
当用户提交过滤器时,过滤器会存储在会话中。
因此,在您的模板中,您可以通过调用会话来访问已定义的过滤器。如果没有默认值过滤器,它将返回一个空数组(如果使用输出保护,则可能为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