Symfony1 什么';将页面自定义/添加到管理生成器的最佳方式是什么?

Symfony1 什么';将页面自定义/添加到管理生成器的最佳方式是什么?,symfony1,symfony-1.4,admin-generator,Symfony1,Symfony 1.4,Admin Generator,我正在使用Symfony 1.4和Doctrine 我的应用程序的后端是使用Symfony的管理生成器构建的。 当我想显示基本的东西时,它工作得很好 但是tehre没有太多关于如何增强它和添加新页面的文档 让我们举一个例子: 我想在一个页面上列出已发布的项目,在另一个页面上列出要发布的项目。在我的应用程序中,我使用了几种方法来实现这一点,但我不知道最好的方法是什么: 使用过滤器,然后根据您所在的位置修改模板 创建另一个模块调用不同的表\u方法 还有什么我不知道的技巧吗 这里的最佳实践是什么?

我正在使用Symfony 1.4和Doctrine

我的应用程序的后端是使用Symfony的管理生成器构建的。 当我想显示基本的东西时,它工作得很好

但是tehre没有太多关于如何增强它和添加新页面的文档

让我们举一个例子: 我想在一个页面上列出已发布的项目,在另一个页面上列出要发布的项目。在我的应用程序中,我使用了几种方法来实现这一点,但我不知道最好的方法是什么:

  • 使用过滤器,然后根据您所在的位置修改模板
  • 创建另一个模块调用不同的
    表\u方法
  • 还有什么我不知道的技巧吗
这里的最佳实践是什么?
你们通常如何定制你们的管理员?

这里是无耻的自我推销。本周我写了一篇关于定制管理生成器的文章——我做的一件事就是在生成器中添加新页面等。我做这件事的方式可能有点强硬,但它工作得很好:-)

最好从模块的自动生成actions类开始,并在
app/module/actions/actions.class.php
文件中扩展它。特别是设置ORM寻呼机的索引操作。您应该能够使用来自您的ORM的任何查询来向您的ORM寻呼机提供数据-在我需要更改它的情况下,我使用以与正常方式相同的方式生成的条令查询来传递给寻呼机。这意味着我可以自定义显示的字段,包括在单个查询中加入etc的其他表中的字段。这是您上面提到的“表方法”

过滤器也可以正常工作——这取决于您的用例以及过滤器是否合适,尤其是用于显示。如果您想要一个
/showpublisheditems页面
,那么我将使用一个新操作和新的寻呼机查询。如果您想要即时定制,请使用过滤器选项

我认为筛选文档在位置上有点欠缺-快速提示,他们在顶级筛选类(lib/filter/…)中查找
addyourcolumnnamcolumnquery()
方法,该方法接受传入的查询,并使用eg
addWhere(“x.column\u name=?”,$foo)
来传递查询


布莱:-)对不起,这有点让人头疼,但希望能有帮助!:-)

只是检查一下:您知道您可以像使用普通symfony模块一样,用自己的页面扩展生成的actions.class.php和templates/directory吗?这是添加页面的最简单方法,尽管您可能需要从生成的模板中挤出一些布局HTML来保持样式一致。