Задать вопрос
  • Mustache — итерация по ассоциативному массиву

    crackedmind
    @crackedmind
    web-developer
    Не совсем хорошо знаю PHP. Поэтому покажу на JSON данных.

    $data = array(
       'items' => array(
           'el1' => 'елемент1', 
           'el2' => 'елемент2', 
           'el3' => 'елемент3', 
           'el4' => 'елемент4', 
       )
    );
    

    Из этого, если я не ошибаюсь, получится вот такая JSON-структура

    {
        "items": {
             "el1":"element1", "el2":"element2", "el3":"element3", "el4":"element4"
         }
    }
    


    А т.к. items — ассоциативный массив и mustache не умеет в цикле их обрабатывать. Для этого придется делать такой шаблон:
    <ul>
    {{#items}}
       {{#el1}}<li> {{el1}}{{/el1}}
       {{#el2}}<li> {{el2}}{{/el2}}
       {{#el3}}<li> {{el3}}{{/el3}}
       {{#el4}}<li> {{el4}}{{/el4}}
    {{/items}}
    <ul>
    

    Что не очень то и гибко.

    Лучше это все привести к такому виду.

    {
        "items": [
             {"el":"element1"}, {"el":"element2"}, {"el3":"element3"}, {"el4":"element4"}
         ]
    }
    

    и такому шаблону

    <ul>
    {{#items}}
       {{#el}}<li> {{el}}{{/el}}
    {{/items}}
    <ul>
    
    Ответ написан
    2 комментария