我可以对admin_edit
执行admin_delete
,admin_print
,admin_manage_tags
和ArticlesController
操作,这些操作需要通过$id
。如果没有admin_create
,我也可以admin_sort
或$id
。最后,admin_delete
需要POST
,其他所有人都应使用GET
。
我如何以及在何处以一种方式将所有这些规则存储在CakePHP中,以便我可以轻松访问或更新所有这些规则,并在项目列表页面,编辑页面或其他任何地方自动呈现相应的操作链接?
例如,我有一个所有文章的列表页面(admin_index
),并希望呈现编辑或打印页面的直接链接。我知道我可以对它们进行硬编码,但如果我添加一些新功能,例如admin_render_pdf
,我必须通过所有视图并将其手动放在那里。如果我重命名或删除操作,则相同。
此外,拥有所有管理操作的通用源甚至可以让我自动呈现管理导航。
我是否手动在某处定义了一个数组,或者CakePHP是否有一些神奇的功能可以为我检索这些数据?在这种情况下,常用/最佳做法是什么?
我能找到的最接近的是list-all-controllers-actions-in-cakephp-3,但看起来它主要与ACL有关。