2016-03-07 137 views
1

有沒有辦法用刀片替換標準模板?我使用payum-laravel-package和klarna-checkout網關使用Payum。用刀片替換樹枝模板

我已經到了需要替換AuthorizeAction模板的地步。我注意到我可以創建一個配置選項payum.action.authorize,但我沒有理解如何樹枝的作品,絕對不是在組合laravel。

有沒有辦法獲得對視圖的更多控制權?還是AuthorizeAction本身?

我發現,在KlarnaCheckoutGatewayFactory所有動作是可配置的,所以我嘗試做一個我自己AuthorizeAction從默認的擴展,然後將其包含在配置中添加一個新的門戶payumBuilder時。但我想這是不應該工作,因爲我得到了以下錯誤:

LogicException in ArrayObject.php line 21: Traversable interface must be implemented in case custom ArrayAccess instance given. It is because some php limitations.

+0

如果您對樹枝模板引擎沒有任何理解,您可以簡單閱讀[documentation](http://twig.sensiolabs.org/documentation)並熟悉它。如果你能理解Blade,你就會明白Twig。 – Bogdan

回答

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() 
; 

P.S.我們可以將這個渲染模板動作添加到laravel包中,並將其設置爲默認值。

+0

謝謝!我已經在LaravelPackage上添加了RenderTemplateAction – Henriksjodahl

+0

歡迎。有關參考:https://github.com/Payum/PayumLaravelPackage/pull/37 –