使用Sonata Admin添加特定类别下的项目

时间:2014-03-03 14:53:56

标签: php sql symfony doctrine sonata-admin

使用Symfony2,我跟着tuto如何制作奏鸣曲管理包以管理商店中的产品,它工作正常,我可以添加,删除,修改每个产品(每个产品包含这些列:id,名称,价格,数量) 现在我的问题是如何为这些产品添加类别?在sonata管理员中,我希望能够在将产品添加到其中之前选择已定义的类别(下拉菜单类型,是否可能?)因此我可以轻松管理产品。 此外,我希望能够从同一管理仪表板管理类别(添加/删除/修改)。

(我刚开始使用Symfony2,我是初学者,我需要一个明确的解释并且谢谢你!)

1 个答案:

答案 0 :(得分:1)

您需要一个Category实体和一个CategoryAdmin类。然后在您的产品实体中,您将能够添加OneToMany 链接,例如:

class Project
{
    /**
    * @ORM\OneToMany(targetEntity="Category", mappedBy="categories")
    * @ORM\OrderBy({"id" = "ASC"})
    */
    private $categories;
}

然后在您的管理员中,您需要查看sonata_type_collection,它允许一对多连接:

  

Collection Type用于处理模型的创建和编辑   集合。可以添加和删除行,以及您的模型抽象   图层可能允许您内联编辑字段。您可以使用type_options   将值传递给基础表单。

祝你好运!