Я хочу прочитать файл JSON в моем шаблоне Twig - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть этот php-файл

<?php

// Load our autoloader
require  __DIR__.'/vendor/autoload.php';


// Specify our Twig templates location
$loader = new Twig_Loader_Filesystem(__DIR__.'/views');
// Instantiate our Twig
$twig = new Twig_Environment($loader);


echo json_encode ($products);

echo $twig->render('index.twig', ['$products' => $products] );

Но я даже не знаю, как передать мой файл products.json в мой index.twig, но я уверен, что он читает мой файл, потому что вывододин:

ВЫХОД

и мой файл JSON выглядит так:

{
 "products":[ 
  {
    "name"         : "Notebook",
    "description"  : "Core i7",
    "value"        :  "800.00",
    "date_register": "2017-06-22"
},
{
    "name"         : "Mouse",
    "description"  : "Razer",
    "value"        :  "125.00",
    "date_register": "2017-10-25"
},
{
    "name"         : "Keyboard",
    "description"  : "Mechanical Keyboard",
    "value"        : "250.00",
    "date_register": "2017-06-23"
}

]}

1 Ответ

0 голосов
/ 19 ноября 2018

$products - строка JSON при кодировании. Оставьте его декодированным, как в $twig->render('index.twig', ['$products' => $products] );, и вы сможете получить к нему доступ как к обычному объекту.

В шаблоне веточки вы можете использовать:

{% for product in $products.products %}
    <tr>
        <td>{{ product.name }}</td>
        <td>{{ product.description }}</td>
        <td>{{ product.value }}</td>
        <td>{{ product.date_register }}</td>
    </tr>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...