質問 > その他 > 【EC-CUBE4.0.3】twigとtwigMacroについて |
その他
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
katoasr |
投稿日時: 2020/2/8 0:30
対応状況: 解決済
|
半人前 登録日: 2020/1/30 居住地: 投稿: 11 |
Re: 【EC-CUBE4.0.3】twigとtwigMacroについて tsuji様
ご助言頂いている意味が理解できました。 dumpの結果から tsuji様の考え通りの挙動で、ご指摘の通り {{tree(Category.children)}}することがわかりました。 ご指摘の通り今のままでは「idやnameの中身」がChildCategoryになるからです。 ご助言をようやく理解した上で、修正して実行すると Key "children" for array with keys "id, name" does not exist in __string_template__078dd8f837f68751123bf23bd9477b2ab0c382ded78f8c99f0f3134ab92dd434 at line 6. 上記のようなエラーがでました。 {{dump(Category.children)}}にすれば array:2 [▼ "id" => 1 "name" => "taro" ] が表示されたので上書きで{{tree(Category.children)}}としたのですが前述のエラーになりました。 もし、なにか思い当たることがあればよろしくお願いいたします。 コントローラー側を class SampleController { /** * @Method("GET") * @Route("/sample/index", name="sample") * @Template("Sample/index.twig") */ public function index() { $Categorise = [ ["id" => 1, "name" => "suzuki", "children" =>["id" => 1,"name" => "taro","children"=>[]]], ["id" => 2, "name" => "satou", "children" => []] ]; return ["Categorise" => $Categorise]; } } twig側を {% macro tree(Category) %} {% from _self import tree %} <a herf="http://localhost?category_id={{ Category.id}}"> {{ Category.name}} </a> {% if Category.children|length>0 %} <ul> {{tree(Category.children)}} </ul> {% endif %} {% endmacro%} {% from _self import tree %} <div class='ec-CategoryNaviRole'> <div class='ec-itemNav'> <ul class="ec-itemNav__nav"> {% for Category in Categorise %} <li> {{tree(Category)}} </li> {% endfor%} </ul> </div> </div> とすることで解決しました。 tsuji様 アドバイスありがとうございました。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
【EC-CUBE4.0.3】twigとtwigMacroについて | katoasr | 2020/2/6 13:44 |
Re: 【EC-CUBE4.0.3】twigとtwigMacroについて | tsuji | 2020/2/7 9:39 |
Re: 【EC-CUBE4.0.3】twigとtwigMacroについて | katoasr | 2020/2/7 21:45 |
» Re: 【EC-CUBE4.0.3】twigとtwigMacroについて | katoasr | 2020/2/8 0:30 |