如何使用Mustache.php循环?

时间:2015-03-23 17:53:10

标签: mustache.php

我需要使用我的数组

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

但没有“rooot key”就无法参考......这是第一个问题......然后我使用$input = array('list'=>$input);并且好了,现在list密钥存在 {#list} test {/list} 但它不循环(!),它显示“test”一次......

1 个答案:

答案 0 :(得分:1)

我认为问题出在$ input数组中。您不应该使用数字键。所以尝试从

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

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

这是我的例子,与你的代码略有不同:

    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 );

这是胡子模板:

{{#list}}
    test {{value}} <br/>
{{/list}}