我想在我的Twig模板中读取JSON文件

时间:2018-11-19 09:45:50

标签: php json twig

我有这个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] );

但是我什至不知道如何在我的index.twig中传递我的products.json文件,但是我确定它正在读取我的文件,因为输出就是这个:

OUTPUT

我的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 :(得分:0)

$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 %}