Я пишу модуль, назовем его base, который будет отображать кнопку после того, как посетитель нажмет на покупку+подтверждение. Это страница, на которой отображается общая стоимость, а также сообщение с благодарностью и электронное письмо.
На этой странице я хотел бы добавить свой модуль с кнопкой, которая по щелчку отправляет сведения о продукте в другой веб-сервис. Теперь у меня есть несколько вопросов:
Какой хук я могу использовать, чтобы разместить эту кнопку на странице подтверждения (после оформления заказа). Как видите, я использую несколько хуков только для того, чтобы посмотреть, появится ли кнопка. Он появляется только в левой колонке
Что вы думаете о коде в целом. Будет ли 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)) );