Я пишу модуль, назовем его base , который покажет кнопку после того, как vistor нажал на кнопку «Подтвердить покупку».На этой странице отображается общая цена, будет отправлено сообщение с благодарностью и электронное письмо.
На этой странице я хотел бы добавить свой модуль с помощью кнопки, которая при нажатии отправляет сведения о продукте надругой веб-сервис.Теперь у меня есть несколько вопросов:
Какой хук я могу использовать, чтобы разместить эту кнопку на странице подтверждения (после оформления заказа).Как видите, я использую несколько хуков, чтобы увидеть, появляется ли кнопка.Он появляется только в левой колонке
Что вы думаете в целом о коде.Будет ли getProducts () правильным методом, просто скопированным из другого стандартного модуля.У вас есть пример для меня?
пожалуйста, игнорируйте глобальные.Я сделаю рефакторинг позже.
base.php (только важная его часть)
<?php
if ( !defined( '_PS_VERSION_' ) )
exit;
class Base extends Module
{
public function install() {
return parent::install() && $this->registerHook('payment') && $this->registerHook('invoice') && $this->registerHook('leftColumn');
}
public function uninstall() {
parent::uninstall();
}
public function getContent() {
return '<h2>'.$this->displayName.'</h2> <div>nothing to configure</div>';
}
public function hookPayment($params) {
if (!$this->active)
return;
global $smarty;
$smarty->assign('buttonText', $this->l('Send to my base'));
return $this->display(__FILE__, 'base.tpl');
}
public function ajaxCall($params) {
if (Configuration::get('PS_CATALOG_MODE'))
return "return;";
return $params['cart']->getProducts(true);
}
}
products.php
include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');
include(dirname(__FILE__).'/base.php');
$cart = new Cart((int)($cookie->id_cart));
$cart->id_lang = (int)($cookie->id_lang);
$base = new Base();
var_dump( $base->hookAjaxCall(array('cookie' => $cookie, 'cart' => $cart)) );