Skip to end of metadata
Go to start of metadata

В сообщении реализована поддержка циклов для JSON переменных типа список (list) [] и объект (object) {}, а также обращение к элементу объекта по ключу {json.object.name}.

Если в качестве переменной в шаблон вставляются дополнительные поля профиля, то поля типа "Массив объектов" и "Тег" (список строк) тоже могут использоваться в циклах.

Также возможно использовать вложенные циклы.

Пример переменных

{
  "Addresses": [
    "улица Барклая, дом 444, корпус 24",
    "улица Суворова, дом 555, корпус 25"
  ],
  "Information": {
    "LJ": [
      {"name": "Optimyss X1", "price": "$10"},
      {"name": "Optimyss X2", "price": "$20"}
    ],
    "Samsung": [
      {"name": "Galaktiko 17", "price": "$50"}
    ]
  }
}

Пример циклов

<h5>Наши новинки:</h5>

<!-- Цикл по элементам объекта -->
{for $vendor $models = json.Information}
    <p>{$vendor}</p>

    <ol>
        <!-- Вложенный цикл -->
        {for $index $model = $models}

            <!-- Обращение к элементам по ключу -->
            <li>{$model.name} {$model.price}</li>

        {else}
            <p>Empty array!</p>
        {end}
    </ol>

{else}
    <p>Empty array!</p>
{end}


<h5>Адреса:</h5>
<ol>
<!-- Простой цикл по списку строк -->
{for $index $address = json.Addresses}  
    <li>{$address}</li>
{else}
    <p>Empty array!</p>
{end}
</ol>

Результат

<h5>Новинки:</h5>

    <!-- Цикл по элементам объекта -->
    <p>LJ<p>
    <ol>    
        <!-- Вложенный цикл, Обращение к элементам по ключу -->
        <li>Optimyss X1 $10</li>  
        <li>Optimyss X2 $20</li&gt
    <ol>

    <!-- Цикл по элементам объекта -->
    <p>Samsyng<p>
    <ol>
        <!-- Вложенный цикл, Обращение к элементам по ключу -->
        <li>Galaktiko 17 $50</li>
    <ol>

<h5>Адреса:</h5>
    <ol>
        <!-- Простой цикл по списку строк -->
        <li>улица Барклая, дом 444, корпус 24</li>
        <li>улица Суворова, дом 555, корпус 25</li>
    </ol>
  • No labels