Sonata管理员自定义列表操作调用错误的方法



顾名思义,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 文件都可以,它们调用正确的操作。

好吧,解决方案是为每个管理员使用一个控制器,并在此控制器中使用短信和打印方法。不知道为什么,但它可以帮助某人...一天:)

所以现在,我有AppleIdContollerITunesContoller,并且每个控制器都包含适当的smsActionprintAction

相关内容

最新更新