自定义支付模块:如何在prestashop 1.7中使用paymentoptions钩子传递smarty变量?

时间:2017-10-30 08:54:30

标签: prestashop prestashop-1.7

我担心如何在prestashop 1.7版本的paymentoptions钩子中传递smarty变量,并在支付页面中获取这些变量。

在prestashop 1.7中,paymentoptions钩子看起来像这样,

 public function hookPaymentOptions($params)
    {
        $payment_options = new PaymentOption();
            $action_text = $this->l('Pay by Credit Card with Stripe Payment');
            /*$payment_options->setLogo(Media::getMediaPath(_PS_MODULE_DIR_.$this->name.'/views/img/card.png'));*/
            $payment_options->setCallToActionText($action_text);
            $payment_options->setAction($this->context->link->getModuleLink($this->name, 'confirmation', array(), true));
            $payment_options->setModuleName($this->name);
            $payment_options->setAdditionalInformation($this->context->smarty->fetch('module:stripepay/views/templates/hook/checkout.tpl'));
            $payments_options[] = $payment_options;

         return $payments_options;
    }

在这个钩子里我怎么能传递这个secure_key =" FGDWFGF $#%#%!$" checkout.tpl文件中的值,用于成功付款。

现在我将这些值保持为静态。

请有人知道这一点请协助。

我希望你理解我的问题。

1 个答案:

答案 0 :(得分:0)

如果您只是为了以后需要保留它,可能会尝试使用$ _SESSION。 对于checkout.tpl,你应该使用hookPayment($ params)代替它,它意味着填充TPL并且它与旧版本反向兼容:

public function hookPayment($params)
{

    $this->context->smarty->assign(array('myvar'=>'thevalue'));
    return $this->display(__FILE__, 'checkout.tpl');

}