symfony Contao 4.13:无法从捆绑包访问系统模块

erhoui1w  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(70)

我们正在将Contao 4.3安装移植到4.13,其中一部分已经在捆绑包中。
在捆绑包中的Controller中,我们有这样的代码:

use foo_events\Foo_Payment;

class ApplicationController

    public function notifypaypalAction()
    {
        $arrConfig = Foo_Payment::getConfig('paypal');
    }

字符串
现在找不到Foo_Payment类。它在模块autoload.php中,但看起来在bundle中Contao没有正确初始化。
我们还可以在bundle中加载旧模块吗?还是必须将所有内容都移植到bundle中?
我已经试过了

require_once '../../../system/modules/foo_events/classes/Foo_Payment.php';


这解决了查找Foo_Payment的问题,但代码

return $GLOBALS['TL_CONFIG']['fooevents']['giropay'][$strConfigType][$strEnv];


现在与

Warning: Undefined global variable $TL_CONFIG


而我希望TL_CONFIG总是可访问的。

o2g1uqev

o2g1uqev1#

1.我实现了implements \Symfony\Component\DependencyInjection\ContainerAwareInterface
1.我补充道

public function setContainer(ContainerInterface $container = null)
    {
        $this->container = $container;
    }

字符串
1.我补充道

protected function initializeContao()
    {
        // added manually because we could not extend \Contao\CoreBundle\Controller\AbstractController,
        // because this would cause problems with the previous container setting in
        // @see \Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver::instantiateController

        $this->container->get('contao.framework')->initialize();
    }


1.我把这个方法叫做

相关问题