Проблема с зацикливанием в Tinybutstrong

У меня есть структуры данных, как показано ниже

Array
(
    [0] => Array
        (
            [name] => dummy0
            [projects] => Array
                (
                    [project_names] => project0
                    [dates] => Array
                        (
                            [0] => 5
                            [1] => 11
                            [2] => 28
                        )

                )

        )

    [1] => Array
        (
            [name] => dummy1
            [projects] => Array
                (
                    [project_names] => project1
                    [dates] => Array
                        (
                            [0] => 10
                            [1] => 12
                            [2] => 28
                        )

                )

        )

)

Я хотел бы получить вывод в следующем формате

манекен0

   Project0  
    5
    11
    28

манекен1

  Project1
   10
   12
   28

Я использовал приведенный ниже фрагмент, но не получил вывод, как я за исключением

                  [replies;block=begin;sub1=projects]

                      [replies_sub1.val;block=tr;sub1=dates]
                        [replies_sub1_sub1.val;block=td]

                  [replies;block=end;comm=text:p]

Любая помощь будет оценена


person user3377654    schedule 03.08.2015    source источник


Ответы (1)


Проблема в том, что ваши подданные dates на самом деле находятся под двумя уровнями столбцов: проекты/даты. И TBS не поддерживает такую ​​структуру данных для автоматического подблока.

Решение состоит в том, чтобы изменить структуру данных, чтобы она была такой:

(
    [0] => Array
        (
            [name] => dummy0
            [dates] => Array
                (
                    [0] => 5
                    [1] => 11
                    [2] => 28
                )
            ....
        )
    ....    

Если вы не можете изменить структуру, вы можете просто использовать параметр ondata с пользовательской функцией, которая создаст новый (виртуальный) столбец в ваших данных.

PHP:

function f_ondata($BlockName,&$CurrRec,$RecNum) {
    $CurrRec['dates_z'] = $CurrRec['projects']['dates'];
}

HTML:

<div style="border: solid 1px red;">

    [replies;block=begin;sub1=dates_z;ondata=f_ondata]

    <table border="1">

      <tr>                
        <td>
            [replies.projects.project_names]
        </td>
        <td>&nbsp;</td>
      </tr>

      <tr>                
        <td>&nbsp;</td>
        <td>
            [replies_sub1.val;block=tr]
        </td>
      </tr>

    </table>

    <text:p> [replies;block=end;comm=text:p] </text:p>
<div>
person Skrol29    schedule 03.08.2015