1

有没有办法用刀片模板替换标准模板?我将 payum 与 payum-laravel-package 和 klarna-checkout 网关一起使用。

我已经到了需要替换 AuthorizeAction 模板的地步。我注意到我可以创建一个配置选项,payum.action.authorize但我对 twig 如何工作的理解为零,绝对不能与 laravel 结合使用。

有没有办法获得对视图的更多控制?还是 AuthorizeAction 本身?

我发现其中的所有操作KlarnaCheckoutGatewayFactory都是可配置的,所以我尝试制作一个AuthorizeAction从默认扩展的我自己的操作,然后在向 payumBuilder 添加新网关时将其包含在配置中。但我想这不应该工作,因为我收到以下错误:

ArrayObject.php 第 21 行中的 LogicException:如果给定自定义 ArrayAccess 实例,则必须实现可遍历接口。这是因为一些 php 的限制。

4

1 回答 1

0

您必须将 payum.action.render_template 替换为支持刀片的模板。此外,您必须覆盖授权模板的路径,这是刀片可以理解的。

<?php
/** @var Payum $payum */
$payum = (new PayumBuilder())
    ->addDefaultStorages()
    ->addGateway('aGateway', [
        'factory' => 'klarna_checkout'
        'payum.action.render_template' => new BladeRenderTemplateAction(/* args*/),
        'payum.template.authorize' => 'path/to/blade/template',
    ])

    ->getPayum()
;

PS 我们可以将这个渲染模板动作添加到 laravel 包中,并使其成为默认动作。

于 2016-03-07T20:18:09.293 回答