我对这个主题有很多疑问
正如标题所述,我需要在下订单并接受付款时找到正确的挂钩.
1.)当下订单(和付款)时,我应该在我的模块中绑定哪个挂钩?
2.)我的印象是没有广泛的钩子,因为一些付款方式将订单状态设置为自动"付款"(如成功的PayPal交易),而其他方法则要求店主手动将状态设置为'所许".是否只有那两个必须被召唤来覆盖大多数情况?
3.)虽然我仍然希望有一个广义的钩子,如果没有,我将如何解决这个问题?绑定"actionPaymentConfirmation"以及"displayPaymentReturn"以涵盖这两种情况?
4.)当我在后台设置订单状态为"付费"时,为什么挂钩"actionPaymentConfirmation"从未被调用过.我的代码看起来像这样
public function install() {
if (!parent::install() || !$this->registerHook("actionPaymentConfirmation")) {
return false;
}
return true;
}
public function actionPaymentConfirmation($params) {
print_r($params); // stepping through with XDebug but the function is never being invoked
}
Run Code Online (Sandbox Code Playgroud)
5.)有没有人知道一个免费的模块做同样的事情我可以深入研究以获得更好的想法?
6.)或者可能更容易覆盖Prestashops核心类来解决我的问题?为了分解它,我想在下订单并且状态设置为接受或远程接受付款后执行.
嗯,我希望我不是同时要求很多东西,但正如你所看到的,我有兴趣掌握这些东西,但在此过程中遇到了一些麻烦.现在一直在努力,特别是在没有运气的情况下寻找几天的答案.
问候!
我一直在寻找PHP代码问题的答案.虽然对某些用户来说听起来很容易,但我遇到以下问题:
我设法使用PHP和MySql从特定表中检索数据.不幸的是,我无法将结果显示为字符串而不是数组.
我用了 print_r($loggedin_users).
结果:
Array ( [0] => Array ( [0] => Test ) [1] => Array ( [0] => Test1 ) )
Run Code Online (Sandbox Code Playgroud)
我试过使用implode函数给我一个字符串.
结果:
ArrayArray
Run Code Online (Sandbox Code Playgroud)
我可以知道如何得到如下结果?
期望的结果:
Test; Test1
Run Code Online (Sandbox Code Playgroud)
先感谢您.
我目前正在创建一个模块,以在hookActionProductCancel上执行一组代码。模块运行良好,我想在执行后发送一封电子邮件。
$template_path = $this->local_path . 'mails/';
Mail::Send((int)(Configuration::get('PS_LANG_DEFAULT')),
'xxx', //need to change the template directory to point to custom module
'Subject',
array(
'{aaa}' => $bbb,
'{bbb}' => $ccc,
'{ccc}' => $ddd,
'{ddd}' => $eee
),
$to,
null, null, null);
Run Code Online (Sandbox Code Playgroud)
我已经创建了模板并将文件放置如下:
虽然我了解上述电子邮件模板的默认导航,但如何使用放置在自定义模块目录中的模板?
我创建了一个目录-../modules/custommodule/mails/并放置了两个文件,但指向它均不成功。
任何指导表示赞赏。谢谢。