2015-03-23 2 views
1

мне нужно арке как foreach() с моим массива,Как использовать циклы с Mustache.php?

$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» ... Это был первый вопрос ... Тогда я sulve с помощью $input = array('list'=>$input); и хорошо, теперь list ключа существует {#list} test {/list} но не петли (!), это показывает «тест» однажды ...

ответ

1

Я думаю, что проблема находится внутри $ входного массива. Вы не должны использовать цифровые клавиши. Так попробуйте изменить массив из

$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}} 
Смежные вопросы