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

Из массива data в twig вывести.


Recommended Posts

Привет всем. 

Незадача такая случилась. 

Пишу модуль, споткнулся на выводе массива из контроллера в шаблон админки. Что имеем: 

Контроллер выдает массив :

tplArray	= Array
(
    [0] => Array
        (
            [user_id] => 2
            [date] => 2021-12-06 15:23:21
            [status] => 1
            [data_in] => 110
            [data_out] => 100
        )

    [1] => Array
        (
            [user_id] => 1
            [date] => 2021-12-07 16:52:15
            [status] => 1
            [data_in] => 220
            [data_out] => 200
        )

    [2] => Array
        (
            [user_id] => 3
            [date] => 2021-12-09 11:43:40
            [status] => 0
            [data_in] => 330
            [data_out] => 300
        )
)

 

В twig на страничке в админке этот шаблон могу увидеть  {{ dump() }} :

 [0]=> array(5) 
				{ 
					["user_id"]=> string(1) "2" 
					["date"]=> string(19) "2021-12-06 15:23:21" 
					["status"]=> string(1) "1" 
					["data_in"]=> string(3) "110" 
					["data_out"]=> string(3) "100" 
				} 
 [1]=> array(5) { 
					["user_id"]=> string(1) "1" 
					["date"]=> string(19) "2021-12-07 16:52:15" 
					["status"]=> string(1) "1" 
					["data_in"]=> string(3) "220" 
					["data_out"]=> string(3) "200" 
					} 
 [2]=> array(5) { 
					["user_id"]=> string(1) "3" 
					["date"]=> string(19) "2021-12-09 11:43:40" 
					["status"]=> string(1) "0" 
					["data_in"]=> string(3) "330" 
					["data_out"]=> string(3) "300" 
				} 

 

Ну и на этом вобщем то пока все.  А нужно в табличку вывести. 

Пробовал различные вариации 

{% for key, value in data %}
<tr>
    <th>
       {{ value }}
    </th>
    <td>
       {{ data.data_out }}
    <td>
</tr>
{% endfor %}

 

Как этого супостата победить?

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


самое простое - посмотреть как это уже реализовано в любом другом месте админки.
Например в выводе атрибутов

  {% for attribute in attributes %}
  <tr>
    <td class="text-center">{% if attribute.attribute_id in selected %}
      <input type="checkbox" name="selected[]" value="{{ attribute.attribute_id }}" checked="checked" />
      {% else %}
      <input type="checkbox" name="selected[]" value="{{ attribute.attribute_id }}" />
      {% endif %}</td>
    <td class="text-left">{{ attribute.name }}</td>
    <td class="text-left">{{ attribute.attribute_group }}</td>
    <td class="text-right">{{ attribute.sort_order }}</td>
    <td class="text-right"><a href="{{ attribute.edit }}" data-toggle="tooltip" title="{{ button_edit }}" class="btn btn-primary"><i class="fa fa-pencil"></i></a></td>
  </tr>
  {% endfor %}

 

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

9 минут назад, si3pio сказал:

$data = array_merge($data, $tplArray);

а зачем?

проще весь этот массив закинуть в какую-то отдельную переменную в data:

$data['my_super_array'] = $tplArray;

и в твиге ее итерировать:

{% for item in my_super_array %} 
<td class="text-left">{{ item.date }}</td>
<td class="text-left">{{ item.status }}</td>
...

 

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

Ну вобщем эта, я ее отитерировал )))

 

Prooksius, решпект тебе и уважуха! 

Да прибудут с тобой биты и байты !

 

 

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


рад за вас))

Смотрите как в контроллерах и twig-ах все это сделано, проще повторить, как в движке, чем придумывать свое.
Но если легких путей не ищете, то...))

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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