我已使用ResourcesBundle创建了一个新实体,但在个人资料中我无法看到Events。
我必须手动制作吗?
为sylius.book.pre_create
创建EventListener并不会做任何事情。
嗨anothertime lchrusciel。
这是我的资源配置:
dinamic_sylius_post:
resource: |
alias: dinamic.post
path: blog/post
type: sylius.resource
dinamic_sylius_admin_post:
resource: |
alias: dinamic.post
section: admin
templates: SyliusAdminBundle:Crud
except: ['show', 'delete']
redirect: index
grid: dinamic_sylius_blog_post
type: sylius.resource
prefix: admin/
在我的捆绑配置中,我有这个:
sylius_resource:
resources:
dinamic.post:
classes:
model: Dinamic\Bundle\SyliusBlogBundle\Entity\Post
form:
default: Dinamic\Bundle\SyliusBlogBundle\Form\PostType
我做错了什么?
答案 0 :(得分:1)
如果是您的自定义资源,您应该查找app.book.pre_create
事件。
正如您所看到的,here事件名称取决于预定义Sylius资源的sylius
应用程序名称,但如果您定义了自己的名称,则通常app
。
如果您关注使用自己的资源使用ResourceBundle的Sylius文档,您会发现以下配置:
sylius_resource:
resources:
app.book:
classes:
model: AppBundle\Entity\Book
此配置的重要部分是资源app.book
的别名。点拆分别名到应用程序名称(app
)和资源名称(book
)。
相同的规则适用于crud生成配置:
app_book:
resource: |
alias: app.book
type: sylius.resource_api
使用app
作为应用程序名称是Sylius建议,但您可以随意选择任何其他名称。
修改强>
在你的例子中,这是一个重要的部分:
sylius_resource:
resources:
dinamic.post:
classes:
根据它,dinamic
是应用程序名称,post
是资源名称。因此应触发以下事件: