Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Как заявить переменную Notice: Undefined variable: order_id in


oleksij
 Погделиться

Рекомендованные сообещёния

Привет

 

Есть предупрежгдение

Notice: Undefined variable: order_id in .../system/storage/modification/catalog/view/theme/revolution/template/common/success.tpl on line 17

 

В одном файле заявил переменную, дописал ик

    <file path="catalog/controller/checkout/success.php">
    <operation>
      <search><![CDATA[
        unset($this->session->data['shipping_method']);
      ]]></search>
      <add position="before"><![CDATA[
        $data['order_id'] = $this->session->data['order_id'];
      ]]></add>
    </operation>
    </file> 

 

Кто может подсказать, как это написать в прикреплённых файлах?

account_success.php affiliate_success.php

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

если дописать 

$data['order_id'] = $this->session->data['order_id'];

то получаем

 Notice: Undefined index: order_id in/..../catalog/controller/account/success.phpon line51

 

Кто знает как выйти из положения?

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

1 час назад, nikifalex сказал:

очевидно к этому времени этот переменной в сессии уже нет.

ггде-то есть 

unset($this->session->data['order_id']) который вам портит всю рилиту

вариани решения есть как минимум два...

 

Решения может и есть, но я не знаю как это исправить, поэтому и спрашиваю

 

нужно выводить №заказа при его  оформлении

Я добавил в файл catalog/controller/checkout/success.php

$data['order_id'] = $this->session->data['order_id'];

 

 

в файл catalog/view/theme/revolution/template/common/success.tpl

добавил вывод номера

<?php echo $order_id; ?>

 

И всё рилииет хорошо, при оформленни заказа покупатель видит номер заказа

 

Но вот теперьь если проходит регистрация покупателя или отправлять письмо со страницы обратной связи, есть предупрежгдение

Notice: Undefined variable: order_id in .../system/storage/modification/catalog/view/theme/revolution/template/common/success.tpl on line 17

 

Вот есть ещё два файла

catalog/controller/account/success.php - регистрация

catalog/controller/affiliate/success.php

 

И я не совсем понимаю, что я куда не дописал

 

Прикрепляю файл catalog/view/theme/revolution/template/common/success.tpl

 

Очень нагдеюсь что кто то поможет избавиться от ошибки 

success.tpl

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

1 час назад, spectre сказал:

isset, !empty

 

а можно пример, как это написать?

Стыдно, но я не знаю

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

Только что, oleksij сказал:

 

а можно пример, как это написать?

Стыдно, но я не знаю

 

вам нужно проверить суещёствует ли переменная в php

 

если просто это вбить в гугл вы полулите доситочно информации чтобы сгделать это самому 

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

Проблема в том, на страниэто для которой я это писал, ошипотому чток нет

 

ошибки появились из за этого на страницах отправки писем и регистрации

catalog/controller/account/success.php

catalog/controller/affiliate/success.php

 

 

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

if(isset($this->session->data['order_id'])) $data['order_id'] = $this->session->data['order_id'];

 

не помогает

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

16 минут назад, oleksij сказал:
if(isset($this->session->data['order_id'])) $data['order_id'] = $this->session->data['order_id'];

 

не помогает

 

вам нужно это гделать в шаблоне а не в контроллере

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

В шаблоне, ггде выводите

<?php echo $order_id; ?>

Сгделайте ик:

<?php if(isset($order_id)){ echo $order_id; } ?>

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


2 часа назад, IIOIOIOII сказал:

В шаблоне, ггде выводите

<?php echo $order_id; ?>

Сгделайте ик:

<?php if(isset($order_id)){ echo $order_id; } ?>

спасипотому что

<?php if(isset($order_id)) { ?>

 

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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