【问题标题】:Sonata admin custom list action calls wrong methodSonata admin 自定义列表操作调用错误的方法
【发布时间】:2016-03-15 22:30:01
【问题描述】:

顾名思义,奏鸣曲管理自定义列表操作调用了错误的方法。

有两个管理类

  • AppleIdAdmin
  • iTunesGiftCardAdmin

还有另外两个控制器:

  • 打印控制器
  • 短信控制器

每个管理类都可以使用在每个控制器中创建的两种不同方法发送短信和打印对象,

  • smsAppleIdAction
  • smsITunesAction
  • printAppleIdAction
  • printITunesAction

这是我的service.yml

services:
    administration_product_product.admin.apple_id:
        class: Administration\Product\ProductBundle\Admin\AppleIdAdmin
        arguments: [~, Administration\Product\ProductBundle\Entity\AppleId, SonataAdminBundle:CRUD]
        tags:
            - {name: sonata.admin, manager_type: orm, group: Gift Cards, label: Apple ID}

    administration_product_product.admin.sms_appleid:
        class: Administration\Product\ProductBundle\Admin\AppleIdAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: admin, label: Apple ID }
        arguments:
            - null
            - Administration\Product\ProductBundle\Entity\AppleId
            - AdministrationProductProductBundle:SMS

    administration_product_product.admin.print_appleid:
        class: Administration\Product\ProductBundle\Admin\AppleIdAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: admin, label: Apple ID }
        arguments:
            - null
            - Administration\Product\ProductBundle\Entity\AppleId
            - AdministrationProductProductBundle:Print

    administration_product_product.admin.i_tunes_gift_card:
        class: Administration\Product\ProductBundle\Admin\ITunesGiftCardAdmin
        arguments: [~, Administration\Product\ProductBundle\Entity\ITunesGiftCard, SonataAdminBundle:CRUD]
        tags:
            - { name: sonata.admin, manager_type: orm, group: Gift Cards, label: iTunes Gift Card }

    administration_product_product.admin.print_itunes:
        class: Administration\Product\ProductBundle\Admin\ITunesGiftCardAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: admin, label: iTunes Gift Card }
        arguments:
            - null
            - Administration\Product\ProductBundle\Entity\ITunesGiftCard
            - AdministrationProductProductBundle:Print
administration_product_product.admin.sms_itunes:
    class: Administration\Product\ProductBundle\Admin\ITunesGiftCardAdmin
    tags:
        - { name: sonata.admin, manager_type: orm, group: admin, label: iTunes Gift Card }
    arguments:
        - null
        - Administration\Product\ProductBundle\Entity\ITunesGiftCard
        - AdministrationProductProductBundle:SMS

奇怪的是,当通过短信发送苹果 ID 时(打印正常!)我收到了这个错误:

Controller "Administration\Product\ProductBundle\Controller\PrintController::smsAppleIdAction" for URI "/admin/product/product/appleid/smsAppleId" is not callable.

在打印 iTunes 卡时(短信没问题!)显示此错误:

Controller "Administration\Product\ProductBundle\Controller\SMSController::printITunesAction" for URI "/admin/product/product/itunesgiftcard/printITunes" is not callable.

此外,所有 list_action 树枝文件都可以,并且它们调用了正确的操作。

【问题讨论】:

    标签: php symfony sonata-admin symfony-sonata sonata


    【解决方案1】:

    嗯,解决方案是为每个管理员使用一个控制器,并在这个控制器中使用 sms 和 print 方法。 不知道为什么,但它可以帮助某人......有一天:)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 2013-08-31
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 2018-07-22
      • 2018-12-25
      相关资源
      最近更新 更多