Перейти к содержанию
lavka

Вывести данные о заказе на страницу Success.tpl

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

После оформления заказа хочу показать покупателю все данные о заказе, как в письме на почту. Дело в том, что почта необязательна и многие не пишут ее, следовательно, не знают ни номера заказа, ни прочей информации.

Понимаю, что речь идет о правке файла темы success.tpl, но не могу понять, где брать данные. Письмо берется вроде из catalog/model/checkout/order.php, но как передать эти данные для страницы success.tpl, я не пойму, ведь у письма нет контроллера...

Помогите, пожалуйста, что-то я запутался сегодня совсем :(

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


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

а для чего контроллео success.php?

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


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

Сделал так:

На страницу success.tpl перед <?php echo $text_message; ?> вставил

<?php if(isset($order_id)) { ?>
<h2><?php echo $order_info["firstname"]; ?>, спасибо за ваш заказ!</h2>
<p>Мы свяжемся с вами в ближайшее время по телефону <?php echo $order_info["telephone"]; ?><br />
Номер вашего заказа: <?php echo $order_id; ?></p>
<table>
 <thead>
  <tr>
   <td>Вы заказали:</td>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>
    <p><?php foreach ($order_products as $row){echo $row["name"].'<br />';} ?></p>
   </td>
  </tr>
 </tbody>
 <tfoot>
  <tr>
   <td>
    Сумма вашего заказа: <strong><?php echo round($order_info["total"]).' руб.'; ?></strong>
   </td>
  </tr>
 </tfoot>
</table>
<?php } ?>
А в \catalog\controller\checkout\success.php уже были внесены изменения благодаря этому моду: https://opencartforum.com/topic/19726-otslezhivanie-prodazh-v-google-analytics-vqmod/

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


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

А у меня не выходит, все то же самое делаю с тем же модулем, но страница заказа как будто не видит этого блока (

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


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

А у меня не выходит, все то же самое делаю с тем же модулем, но страница заказа как будто не видит этого блока (

 

Вы закинули эту добавку для гугл аналитикс по ссылке? В гугле появляются данные?

 

Попробуйте просто на странице вывести содержимое переменных:

<?php if(isset($order_id) && $order_id) { ?>
          <?php echo $order_id; ?><br />
          <?php echo $store_name; ?><br />
          <?php echo $order_info["total"]; ?><br />
          <?php echo $tax; ?><br />
          <?php echo $order_info["shipping_city"]; ?><br />
          <?php echo $order_info["shipping_zone"]; ?><br />
          <?php echo $order_info["shipping_country"]; ?><br />
        <?php foreach ($order_products as $row) { ?>
            <?php echo $order_id; ?><br />
            <?php echo $row["model"]; ?><br />
            <?php echo $row["name"]; ?><br />
            <?php echo $row["price"]; ?><br />
            <?php echo $row["quantity"]; ?><br />
        <?php } ?>

Гляньте также в model/account/order.php другие переменные, которые есть у заказа. Там, например, взял телефон, который гуглу не выводится.

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


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

Разобралась) причина была в том, что при обновлении страницы success почему-то пропадает с нее весь этот текст. При создании заказа и переходе из корзины все выводится, если обновить - пропадает.

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


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

Разобралась) причина была в том, что при обновлении страницы success почему-то пропадает с нее весь этот текст. При создании заказа и переходе из корзины все выводится, если обновить - пропадает.

А, я думал, вы это сразу заметите))

 

Да, в контролере есть строки

			$this->cart->clear();

			unset($this->session->data['shipping_method']);
			unset($this->session->data['shipping_methods']);
			unset($this->session->data['payment_method']);
			unset($this->session->data['payment_methods']);
			unset($this->session->data['guest']);
			unset($this->session->data['comment']);
			unset($this->session->data['order_id']);	
			unset($this->session->data['coupon']);
			unset($this->session->data['reward']);
			unset($this->session->data['voucher']);
			unset($this->session->data['vouchers']);

Они как раз удаляют все эти значения переменных сразу после вывода первый раз на страницу.

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


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

Я даже не попробовала сначала новый заказ оформить, ну и не заметила) потом только на эти строчки внимание обратила.

Спасибо )

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.