• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Is it possible to use nested loops in parser templates?

#1
I am not sure if nested loops are supported by the parser, at least I am not able to display the following template correctly:
Code:
<table class="data_table">
  <thead>
    <tr>
      {header_entries}
        <th>{header_title}</th>
      {/header_entries}
    </tr>
  </thead>
  <tbody>
    {data_entries}
      <tr>
        {data_row}
          <td>{data_cell}</td>
        {/data_row}
      </tr>
    {/data_entries}
  </tbody>
</table>

The headers works but not the table's body when using these data:


Code:
   $header_entries = [['header_title' => 'one'],
                      ['header_title' => 'two']];
   $data_entries = [['data_row' => [['data_cell' => 'one - one'],
                                    ['data_cell' => 'one - two']],
                     'data_row' => [['data_cell' => 'two - one'],
                                    ['data_cell' => 'two - two']]]];
   $parser = \Config\Services::parser();
   echo $parser->setData(['header_entries' => $header_entries,
                          'data_entries' => $data_entries])->render('templates/data_table_template');
Reply

#2
If you want nested variables to also see the level above them, then you need to pass true as a second parameter to the render() call. See https://codeigniter4.github.io/CodeIgnit...er-options
Reply

#3
(03-06-2019, 06:37 PM)ciadmin Wrote: If you want nested variables to also see the level above them, then you need to pass true as a second parameter to the render() call. See https://codeigniter4.github.io/CodeIgnit...er-options

No, this is not I would like to do. I just would like to have two nested loops. But this does not seem to work because the output is:

Quote:-->header: one two
-->body: two - one two - two
The header loop is correct but the second (inner) loop is not. Only the last result of the loop is used.
Reply

#4
The view parser supports "cascading data", but not "nested loops" the way you are looking for.
I suggest adding a feature request for this, if needed for your app... https://forum.codeigniter.com/forum-29.html
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.