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

Не передаются данные в шаблон


Recommended Posts

Здравствуйте.
Может кто подскажет ? а то всю голову сломал почему не работает ....

/admin/model/customer/customer.php

public function getMes($customer_id) {

        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "message_to_user WHERE user_id = '".(int)$customer_id."'");
        
        return $query->rows;
    }

/admin/controller/customer/customer.php

public function getMes() {
        $this->load->language('customer/customer');

        $this->load->model('customer/customer');

        $data['all_mes'] = array();
        $data['my_mes'] = 'Привет!';
        
        $all_mes = $this->model_customer_customer->getMes($this->request->get['customer_id']);
                
        foreach ($all_mes as $mes1) {
            $data['all_mes'][] = array(
                'id'   => $mes1['id'],
                'date_added' => date($this->language->get('date_format_short'), strtotime($mes1['date_added'])),
                'mes_text'   => $mes1['mes_text']
            );
        }

        $this->response->setOutput($this->load->view('customer/customer_form', $data));
    }

/admin/view/template/customer/customer_form.twig

 <div class="mesenges">
                        <table class="table">
                            <p>{{ my_mes }}</p>
                            <thead>
                                <tr>
                                  <th>id</th>
                                  <th>Дата получения</th>
                                  <th>Текст сообщения</th>
                                </tr>
                            </thead>
                            <tbody>
                                {% for mes1 in all_mes %}
                                {{ dump(mes1.id) }}
                                <tr>
                                  <th scope="row">{{ mes1.id }}</th>
                                  <td>{{ mes1.date_added }}</td>
                                  <td>{{ mes1.mes_text }}</td>
                                </tr>
                                {% endfor %}
                            </tbody>
                        </table>
                    </div>

 

Змінено користувачем 112rub
Надіслати
Поділитися на інших сайтах

Выглядит то вроде как норм. А сам запрос то что-то возвращает? Если например поставить в /admin/controller/customer/customer.php написать так:

print_r($data);die;
$this->response->setOutput($this->load->view('customer/customer_form', $data));

То что выведет print_r? Если пустой массив - значит запрос не возвращает данные.

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

getMes = взять беспорядок )) 

лучше сократите как msg

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

10 часов назад, Dimasscus сказал:

а что говорит var dump?

и обновили ли кеш модификаторов?

Говорит NULL, а где ошибка понять не могу!

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

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

getMes = взять беспорядок )) 

лучше сократите как msg

Это на данный момент не актуально ... 

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

1 час назад, 112rub сказал:

Говорит NULL, а где ошибка понять не могу!

А что вы пытаетесь var_dump'ом распечатать? вот там и Null - а null - это не число, его нельзя умножать. Соответственно как бы - вот вам и место проблемы. Как его исправлять - зависит от того что конкретно вы вардампом распечатываете.

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

1 час назад, 112rub сказал:

Это на данный момент не актуально ... 

Нормальное именование переменных - всегда актуально :D

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

12 часов назад, 112rub сказал:

$data['my_mes'] = 'Привет!'

Вот это в файле twig выводится?

Если да, тогда можно сделать вывод, что передача данных идет в файл twig

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

 

И еще момент, по какой ссылке Вы хотите увидеть вывод этих сообщений?

Тоесть ссылка у Вас вида:

admin/index.php?route=customer/customer/getMes&customer_id=12&user_token=dlsakdl;sakdl;ksal;d

?

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

5 часов назад, Fedka сказал:

Вот это в файле twig выводится?

нет не выводятся!  для этого я эту переменную и воткнул туда и забыл удалить! Собственно по этому поводу заголовок темы....по поводу остального, op 3.0.3.2

ссылка /admin/index.php?route=customer/customer/edit&user_token=22222222222222222222222&customer_id=4

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

5 часов назад, OtezVikentiy сказал:

А что вы пытаетесь var_dump'ом распечатать? вот там и Null - а null - это не число, его нельзя умножать. Соответственно как бы - вот вам и место проблемы. Как его исправлять - зависит от того что конкретно вы вардампом распечатываете.

а что я умножаю? вы можете по существу сказать или вам просто скучно? если просто скучно и лишь бы что написать то не засоряйте тему пожалуйста 

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

13 часов назад, 112rub сказал:

а что я умножаю? вы можете по существу сказать или вам просто скучно? если просто скучно и лишь бы что написать то не засоряйте тему пожалуйста 

Сорри, не в ту тему сообщение. Там в соседней теме null умножать пытаются...

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

15 часов назад, 112rub сказал:

нет не выводятся!  для этого я эту переменную и воткнул туда и забыл удалить! Собственно по этому поводу заголовок темы....по поводу остального, op 3.0.3.2

ссылка /admin/index.php?route=customer/customer/edit&user_token=22222222222222222222222&customer_id=4

Тогда у Вас не правильный этот код

В 07.12.2020 в 00:55, 112rub сказал:

/admin/controller/customer/customer.php


public function getMes() {
        $this->load->language('customer/customer');

        $this->load->model('customer/customer');

        $data['all_mes'] = array();
        $data['my_mes'] = 'Привет!';
        
        $all_mes = $this->model_customer_customer->getMes($this->request->get['customer_id']);
                
        foreach ($all_mes as $mes1) {
            $data['all_mes'][] = array(
                'id'   => $mes1['id'],
                'date_added' => date($this->language->get('date_format_short'), strtotime($mes1['date_added'])),
                'mes_text'   => $mes1['mes_text']
            );
        }

        $this->response->setOutput($this->load->view('customer/customer_form', $data));
    }

 

Так как как эта функция никак не передается в функцию getForm

Из функции getMes нужно делать возврат того, что получается. И в функции getForm в переменную для вывода в шаблон отправлять

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

On 12/7/2020 at 7:16 PM, 112rub said:

а что я умножаю? вы можете по существу сказать или вам просто скучно? если просто скучно и лишь бы что написать то не засоряйте тему пожалуйста 

Какую именно переменную вы проверили через var_dump() и она вывелась как NULL ? Или вы имеете в виду, dump(mes1.id) ?

Попробуйте по-порядку проверить переменные начиная от $all_mes в контроллере и двигаясь в верх по-цепочке до модели.

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


В 08.12.2020 в 11:40, Fedka сказал:

Тогда у Вас не правильный этот код

Так как как эта функция никак не передается в функцию getForm

Из функции getMes нужно делать возврат того, что получается. И в функции getForm в переменную для вывода в шаблон отправлять

Спасибо.  помогло! 

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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