2017-02-06 11 views
1
Array 
(
    [page_title] => Slovak RS 
    [page_footer] => © Copyright 2017 
    [is_published] => published 
    [menu] => { 
    "id":"1", 
    "name": "main_menu", 
    "items": [ 
     "pos1": [ 
     "display_name" : "Informácie", 
     "path"   : "informacie" 
    ], 
     "pos2": [ 
     "display_name" : "Videá", 
     "path"   : "video" 
    ], 
     "pos4": [ 
     "display_name" : "Recepty", 
     "path"   : "recepty" 
    ], 
     "pos5": [ 
     "display_name" : "Galéria", 
     "path"   : "galeria" 
    ], 
     "pos6": [ 
     "display_name" : "Osobnosti", 
     "path"   : "osobnosti" 
    ], 
    ], 
    "updated_at": "2020" 
} 
) 

これは私がtwigテンプレートファイルになっているデータです。私はjsonとして格納された単一のdbテーブルにメニューを持っています。私は小枝2.xのを使用していると私はあなた初心者Twig loop through JSON

+0

は、twigテンプレートでは解読できません。あなたが良い場合は、[this](http://stackoverflow.com/a/14504988/2270041)ソリューションを参照してください。 – Matteo

答えて

1

だ私は{{ menu }}, {{ page_title }}などのアイテムを表示することができますが、一部

そのJSONをループハード回を持っているこれは私が

{% for item in menu %} 
    {{ item.id }} 
    {{ item['id'] }} 
    {% endfor %} 

    {% for key,value in menu %} 
    Key : {{ key }} 
    Value : {{ value }} 
    {% endfor %} 

を試みたものですjson_decode JSONを先に渡してから、それを小枝に渡してください。これで、あなたはループすることができる配列またはオブジェクトを持っています。あなたが提供したコードで

$objJson = json_decode($yourDBArray['menu']); 
$arrJson = json_decode($yourDBArray['menu'],true); 

、JSONはstringなくarrayobjectです。

+0

完璧なソリューション、ありがとう –