顾名思义,Sonata 管理员自定义列表操作调用了错误的方法。
有两个管理类
- 苹果身份证管理员
- iTunesGiftCardAdmin
还有另外两个控制器:
- 打印控制器
- SMSController
每个管理类都能够使用在每个控制器中创建的两种不同方法发送 SMS 和打印对象,
- 短信苹果识别行动
- 短信操作
- 打印AppleIdAction
- 打印操作
这是我的service.yml
:
services:
administration_product_product.admin.apple_id:
class: AdministrationProductProductBundleAdminAppleIdAdmin
arguments: [~, AdministrationProductProductBundleEntityAppleId, SonataAdminBundle:CRUD]
tags:
- {name: sonata.admin, manager_type: orm, group: Gift Cards, label: Apple ID}
administration_product_product.admin.sms_appleid:
class: AdministrationProductProductBundleAdminAppleIdAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: admin, label: Apple ID }
arguments:
- null
- AdministrationProductProductBundleEntityAppleId
- AdministrationProductProductBundle:SMS
administration_product_product.admin.print_appleid:
class: AdministrationProductProductBundleAdminAppleIdAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: admin, label: Apple ID }
arguments:
- null
- AdministrationProductProductBundleEntityAppleId
- AdministrationProductProductBundle:Print
administration_product_product.admin.i_tunes_gift_card:
class: AdministrationProductProductBundleAdminITunesGiftCardAdmin
arguments: [~, AdministrationProductProductBundleEntityITunesGiftCard, SonataAdminBundle:CRUD]
tags:
- { name: sonata.admin, manager_type: orm, group: Gift Cards, label: iTunes Gift Card }
administration_product_product.admin.print_itunes:
class: AdministrationProductProductBundleAdminITunesGiftCardAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: admin, label: iTunes Gift Card }
arguments:
- null
- AdministrationProductProductBundleEntityITunesGiftCard
- AdministrationProductProductBundle:Print
administration_product_product.admin.sms_itunes:
class: AdministrationProductProductBundleAdminITunesGiftCardAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: admin, label: iTunes Gift Card }
arguments:
- null
- AdministrationProductProductBundleEntityITunesGiftCard
- AdministrationProductProductBundle:SMS
奇怪的是,当通过短信发送Apple ID时(打印是可以的!),我收到此错误:
Controller "AdministrationProductProductBundleControllerPrintController::smsAppleIdAction" for URI "/admin/product/product/appleid/smsAppleId" is not callable.
打印iTunes卡时(短信可以!),此错误显示:
Controller "AdministrationProductProductBundleControllerSMSController::printITunesAction" for URI "/admin/product/product/itunesgiftcard/printITunes" is not callable.
此外list_action所有 twig 文件都可以,它们调用正确的操作。
好吧,解决方案是为每个管理员使用一个控制器,并在此控制器中使用短信和打印方法。不知道为什么,但它可以帮助某人...一天:)
所以现在,我有AppleIdContoller
、ITunesContoller
,并且每个控制器都包含适当的smsAction
和printAction