Можно ли использовать подблок в подблоке при создании docx с opentbs?

Я пытаюсь вывести массив в файл docx с плагином opentbs. В моем массиве есть вложенный массив, поэтому я использую блок для основного массива с подблоком для вложенного массива. Это работает отлично. Моя проблема в том, что вложенный массив также имеет собственный вложенный массив. Можно ли вывести это с под-подблоком?

Ниже показано, что я использую в шаблоне docx, данные отгрузки (блок) и данные записей (подблок) отображаются так, как мне нужно. Для каждой записи мне нужно отображать пакеты (суб-подблок), но на данный момент он просто выводит теги, а не данные пакетов. Где я ошибаюсь?

[a.shipment_#; block=tbs:row;sub1=entries]  
   [a_sub1.id]  
   [a_sub1.shipping_name;block=tbs:row;sub2=packs] 
   [a_sub1.total_quantity]  
        [a_sub2.display_line;block=tbs:row]
[a_shipment_total]

Это массив:

Array
(
    [0] =>; Array
        (
            [entries] =>; Array
                (
                    [1] =>; Array
                        (
                            [id] =>; 10000
                            [shipping_name] =>; Name1
                            [total_quantity] =>; 135                           
                            [packs] =>; Array
                                (
                                    [0] =>; Array
                                        (
                                            [display_line] =>; 6 Steel Drums x 10L
                                        )

                                    [1] =>; Array
                                        (
                                            [display_line] =>; 5 Steel Drums x 15L
                                        )

                                )

                        )

                    [2] =>; Array
                        (
                            [id] =>; 100001
                            [shipping_name] =>; Name2 
                            [total_quantity] =>; 50                           
                            [packs] =>; Array
                                (
                                    [0] =>; Array
                                        (
                                            [display_line] =>; 2 Plastic Jerry Cans x 25L
                                        )

                                )

                        )

                    [3] =>; Array
                        (
                            [id] =>; 10002
                            [shipping_name] =>; Name3
                            [total_quantity] =>; 170                          
                            [packs] =>; Array
                                (
                                    [0] =>; Array
                                        (
                                            [display_line] =>; 1 Plastic Jerry Can x 20L
                                        )

                                    [1] =>; Array
                                        (
                                            [display_line] =>; 6 Plastic Jerry Cans x 25L
                                        )

                                )

                        )                    

                )

            [shipment_id] =>; #1234
            [shipment_total] =>; 355
        )

)
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
109
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Функция подблока поддерживает подблок.

Блок a_sub1 является подблоком для блока a.

Блок a_sub1_sub1 является подблоком для блока a_sub1, поэтому он является под-подблоком «а».

Вот каким может быть ваш шаблон:

[a.shipment_id;block=tbs:row;sub1=entries]  
   [a_sub1.id]  
   [a_sub1.shipping_name;block=tbs:row;sub1=packs] 
   [a_sub1.total_quantity]  
        [a_sub1_sub1.display_line;block=tbs:row]
[a.shipment_total]

С тех пор я расширил массив, и теперь мне нужен sub2. Я определил sub2 в первой строке вашего примера следующим образом... [a.shipment_id;block=tbs:row;sub1=entries;sub2=overpacks]. это правильный путь? Затем я добавил [a.sub2.overpack_item_total;block=tbs:row] над отгрузкой_total в шаблоне. Однако я получаю только последний overpack_item_total, отображаемый в файле .docx.

coinrese 16.07.2019 00:08

Другие вопросы по теме