Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony1 Symfony:一种显示/隐藏列表行的方法?_Symfony1_Action_Generator_Yaml_Backend - Fatal编程技术网

Symfony1 Symfony:一种显示/隐藏列表行的方法?

Symfony1 Symfony:一种显示/隐藏列表行的方法?,symfony1,action,generator,yaml,backend,Symfony1,Action,Generator,Yaml,Backend,我试图创建一组类似于索引操作的操作,但它们显示过滤后的数据(某种现成的报告) 到目前为止,我想出了这样的办法: public function executeReport(sfWebRequest $request) { $this->setFilters(array('field'=>'value')); $this->forward($this->getModuleName(), 'index'); } 但是我还想修改列的集合 默认设置存储在genera

我试图创建一组类似于索引操作的操作,但它们显示过滤后的数据(某种现成的报告)

到目前为止,我想出了这样的办法:

public function executeReport(sfWebRequest $request)
{ 
  $this->setFilters(array('field'=>'value'));

  $this->forward($this->getModuleName(), 'index');
}
但是我还想修改列的集合

默认设置存储在generator.yml中

generator:
  param:
    config:
      list:
        display: [field1, field2, field3]

有没有办法在executeport()中只设置可见的字段2和字段3?

只使用所需的字段修改模板ReportSuccess.php

您可以在module/lib/moduleGeneratorConfiguration.class.php中覆盖生成器配置:

用于获取字段的方法如下:

public function getListDisplay()
{
  return array('field2','field3');
}
我没有测试过它,但您应该能够使用以下不同的值覆盖它:

public function getListDisplay()
{
  return sfConfig::get('app_my_columns');
}

也许我错了,但如果你隐藏属性,你没有隐藏任何行,你将隐藏列。要隐藏/显示行,可以在结构类似于以下内容的模板文件上执行此操作:

foreach($row_you_can_show as $row){
    if(you_want_to_show($row)){
         echo "<tr>...</tr>";
    }
}
foreach($row\u您可以显示为$row){
如果(你想展示($row)){
回声“…”;
}
}
如果你想动态地控制它,你可以用javascript函数来实现,但是更复杂


祝你好运

getListDisplay()可以正常工作。但是现在如何根据操作设置列呢?我还必须修改/覆盖一些部分。我尽量避免这样@阿伦德给出了更好的解决方案