Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


oleksij

Recommended Posts

Привет

 

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

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

Надіслати
Поділитися на інших сайтах

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

 

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

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

 

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

 

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

Надіслати
Поділитися на інших сайтах

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

 

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

catalog/controller/account/success.php

catalog/controller/affiliate/success.php

 

 

Надіслати
Поділитися на інших сайтах

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)) { ?>

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.