1

我正在使用 Symfony 1.4 和 Doctrine。

我的应用程序的后端是使用 Symfony 的管理生成器构建的。当我想显示基本的东西时,它非常有用。

但是关于如何增强它和添加新页面的文档并不多。

举个例子:我想在一页上列出已发布的项目,在另一页上列出要发布的项目。我在我的应用程序中使用了几种方法,但无法弄清楚最好的方法是什么:

  • 玩过滤器,然后根据您所在的位置修改模板?
  • 创建另一个调用不同的模块table_method
  • 其他一些我不知道的技术?

这里的最佳做法是什么?你们通常如何自定义管理员?

4

1 回答 1

2

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

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

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

我认为过滤器文档在某些地方也有点缺乏-快速提示,它们addYourColumnNameColumnQuery()在您的顶级过滤器类(lib/filter/...)中寻找一个方法,该方法接受传入的查询并使用例如addWhere("x.column_name = ?", $foo)传递的查询在。

Bleh :-) 抱歉,这有点脑残,但希望它有所帮助!:-)

于 2010-03-26T11:35:51.557 回答