acvis2000

1.5.1.3 вывод данных в подтверждение заказа - confirm

Рекомендуемые сообщения

acvis2000    1

Для удобства пользователя при подтверждении заказа можно вывести для проверки его данные - адрес, телефон, имя, мыло, выбранный вариант доставки и оплаты. Тогда покупатель проверяет все данные одновременно с данными стоимости (суммой наценок или скидок от способа оплаты и доставки - если предусмотренны) и жмет кнопуку в полном спокойствии что все правильно.

у меня получилось так. прямо в confirm.tpl

<?php
	if (isset($this->session->data['guest'])) {
	 $shipping_address = $this->session->data['guest']['shipping'];
	}  
	if($shipping_address['firstname'] != ''){
	$data['shipping_firstname'] = $shipping_address['firstname'];
								}else{
								$data['shipping_firstname'] = $this->language->get('text_noneo');  
								}
  
	if($shipping_address['address_1'] != ''){
	$data['shipping_address_1'] = $shipping_address['address_1'];
								}else{
								$data['shipping_address_1'] =  $this->language->get('text_noneo');
								}
	
	$data['shipping_address_2'] = '';
  
	if($shipping_address['city'] != ''){
	$data['shipping_city'] = $shipping_address['city'];
								}else{
								$data['shipping_city'] =  $this->language->get('text_noneo');  
								}
  
	if($this->session->data['guest']['email'] != ''){
									$data['email'] = $this->session->data['guest']['email'];
								}else{
									$data['email'] =  $this->language->get('text_noneo');
								}
  
	$data['telephone'] = $this->session->data['guest']['telephone'];
															  
	if (isset($this->session->data['payment_method']['title'])) {
		 $data['payment_method'] = $this->session->data['payment_method']['title'];
		 }

$data['company'] = $this->session->data['guest']['payment']['company'];
$data['shipping_method'] = $this->session->data['shipping_method']['title'];

$data['f_nam']= $this->language->get('f_nam');
$data['comp']= $this->language->get('comp');
$data['shi_met']= $this->language->get('shi_met');
$data['p_met']= $this->language->get('p_met');
$data['telp']= $this->language->get('telp');
$data['cty']= $this->language->get('cty');
$data['ads']= $this->language->get('ads');
$data['mal']= $this->language->get('mal');
?>

<div class="checkout-product">
<table>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['f_nam'];?></b></td><td> <?php echo $shipping_address['firstname'];?></td></tr>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['comp'];?></b></td><td> <?php echo $data['company'];?></td></tr>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['shi_met'];?></b></td><td> <?php echo $data['shipping_method'];?></td></tr>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['p_met'];?></b></td><td> <?php echo $data['payment_method'];?></td></tr>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['telp'];?></b></td><td> <?php echo $data['telephone'];?></td></tr>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['cty'];?></b></td><td> <?php echo $shipping_address['city'];?></td></tr>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['ads'];?></b></td><td> <?php echo $shipping_address['address_1'];?></td></tr>
<tr><td bgcolor="#efefef" width="150" align="right"><b><?php echo $data['mal'];?></b></td><td> <?php echo $data['email'];?></td></tr>
</table>
</div>

ну и переменные текстовые в russian/checkout/checkout.php

$_['text_noneo']		  = '[не указан]';
$_['f_nam']		  = 'ФИО:';
$_['comp']		  = 'Компания:';
$_['shi_met']		  = 'Доставка:';
$_['p_met']		  = 'Оплата:';
$_['telp']		  = 'Телефон:';
$_['cty']		  = 'Город:';
$_['ads']		  = 'Адрес:';
$_['mal']		  = 'e-mail:';

Наверное, не очень правильно с точки зрения кода, но с моей короткой формой заказа работает. Может кому пригодится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
acvis2000    1

В данном случае столкнулся с проблемой

data['guest']['payment']['company']
название компании не сохраняется в описании пользователя.

Экспериментальным путем установил, что за вписывание данных отвечает

catalog/model/checout/order.php

подсовываю функции

public function create($data) {
		$this->db->query("INSERT INTO `" . DB_PREFIX . "order` SET invoice_prefix = '" ........

такое

payment_company = '" . $this->db->escape($data['payment_company']) . "',
не работает. Изменено пользователем acvis2000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noVe    151

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу