2

I need to loop as foreach() with my array,

$input = array (
  1 =>   array (    'year' => '1534',    'name' => 'test1',  ),
  2 =>   array (    'year' => '1644',    'day' => 'test2' )
  3 =>   array (    'year' => '2015',    'day' => 'test3',  ),
   // ...
);
$m->render( $template, $input );

but can't ref without a "rooot key"... This was the first problem... Then I sulve using $input = array('list'=>$input); and ok, now list key exist to {#list} test {/list} but it not loops (!), it shows "test" once...

Peter Krauss
  • 13,174
  • 24
  • 167
  • 304

1 Answers1

1

I think the problem is inside the $input array. You shouldn't use the numeric keys. So try changing the array from

$input = array (
      1 =>   array (    'year' => '1534',    'name' => 'test1',  ),
      2 =>   array (    'year' => '1644',    'day' => 'test2' )
      3 =>   array (    'year' => '2015',    'day' => 'test3',  ),
    );

to

$input = array (
      array (    'year' => '1534',    'name' => 'test1',  ),
      array (    'year' => '1644',    'day' => 'test2' )
      array (    'year' => '2015',    'day' => 'test3',  ),
    );

This is a my example, a little bit different from your code:

    Mustache_Autoloader::register();
    $oMustache = new Mustache_Engine( array(
        'loader' => new Mustache_Loader_FilesystemLoader( 'templates' ),
    ));

    $aVariables = array(
        'list' => array(
            array( 'value' => 'one' ),
            array( 'value' => 'two' ),
            array( 'value' => 'three' ),
        )
    );

    $template = $oMustache->loadTemplate( 'my_template_name' );
    return $template->render( $aVariables );

And this is the mustache template:

{{#list}}
    test {{value}} <br/>
{{/list}}
lastYorsh
  • 573
  • 7
  • 17