java中添加函数,在OROcrm中为自定义函数添加自定义函数

我用自定义函数创建了一个扩展 .

class AppExtension extends \Twig_Extension

{

private $_container;

public function __construct($container)

{

$this->_container = $container;

}

public function getFunctions()

{

return [

new \Twig_SimpleFunction('autologin', [$this, 'autologin'], ['is_safe' => ['all']])

];

}

public function autologin($customer, $url)

{

return sprintf('');

}

public function getName()

{

return 'xxx_app_extension';

}

}

我已将它添加到services.yml:

xxx_opportunity.twig.helper:

class: 'OpportunityBundle\Twig\AppExtension'

public: false

arguments:

- '@service_container'

tags:

- { name: twig.extension }

当我看到ORO通过“php bin / console debug:twig”找到它时,我可以看到我的自定义功能出现在列表中 . 当我尝试使用OROcrm中的电子邮件模板编辑器在电子邮件模板中实现它时,我收到以下错误:

The template for xxxx has syntax error: Unknown "autologin" function at line 18.

这已经让我的头脑太久了,任何人都有解决方案?

更新:

$instance = new \Oro\Bundle\EmailBundle\Provider\EmailRenderer(${($_ = isset($this->services['oro_email

$instance->addExtension(${($_ = isset($this->services['oro_ui.twig.html_tag']) ? $this->services['oro_u

$instance->addExtension(${($_ = isset($this->services['oro_config.twig.config_extension']) ? $this->ser

$instance->addExtension(${($_ = isset($this->services['oro_ui.twig.extension.formatter']) ? $this->serv

$instance->addExtension(${($_ = isset($this->services['oro_locale.twig.address']) ? $this->services['or

$instance->addExtension(${($_ = isset($this->services['oro_locale.twig.date_time']) ? $this->services['

$instance->addExtension(${($_ = isset($this->services['oro_entity.twig.extension.entity']) ? $this->ser

$instance->addExtension(${($_ = isset($this->services['twig.extension.intl']) ? $this->services['twig.e

$instance->addExtension(${($_ = isset($this->services['oro_locale.twig.date_time_organization']) ? $thi

$instance->addExtension(${($_ = isset($this->services['oro_calendar.twig.dateformat']) ? $this->service

$instance->addExtension(${($_ = isset($this->services['oro_calendar.twig.recurrence']) ? $this->service

$instance->addExtension(${($_ = isset($this->services['oro_currency.twig.currency']) ? $this->services[

$instance->addExtension(${($_ = isset($this->services['twig.extension.routing']) ? $this->services['twi

这是编译器最终得到的getOroEmail_EmailRendererService.php,它缺少我的扩展,你可以看到 . 我怎样才能解决这个问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值