Думаю мне лучше всего задать вопрос в этой теме. Версия 1.5.5.1.2
Ситуация такая, что мне нужно, чтобы кнопка "Подтверждение заказа" при выборе способа оплаты "cod_1" перенаправляла покупателя на внутренний файл pay.php, который лежит в корне сайта.
Как я понимаю, нужно что-то менять либо в файле /catalog/view/theme/default/template/payment/cod_1.tpl, либо в catalog/controller/payment/cod_1.php , но какую именно конструкцию нужно написать - не ясно.
--------------------------------------
/catalog/view/theme/default/template/payment/cod_1.tpl
<div class="buttons">
<div class="right">
<input type="button" value="<?php echo $button_confirm; ?>" id="button-confirm" class="button" />
</div>
</div>
<script type="text/javascript"><!--
$('#button-confirm').bind('click', function() {
$.ajax({
type: 'get',
url: 'index.php?route=payment/cod_1/confirm',
success: function() {
location = '<?php echo $continue; ?>';
}
});
});
//--></script>
-------------------------------------
catalog/controller/payment/cod_1.php
<?php
class ControllerPaymentCod extends Controller {
protected function index() {
$this->data['button_confirm'] = $this->language->get('button_confirm');
$this->data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/cod.tpl')) {
$this->template = $this->config->get('config_template') . '/template/payment/cod.tpl';
} else {
$this->template = 'default/template/payment/cod.tpl';
}
$this->render();
}
public function confirm() {
$this->load->model('checkout/order');
$this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('cod_order_status_id'));
}
}
?>
PS сперва были подозрения, что может нужно править /catalog/controller/checkout/success.php или catalog\view\theme\default\template\checkout\checkout.tpl - но вроде их все же трогать не надо.