使用嵌套的包含树枝 [英] Using Nested Include Twig

查看:81
本文介绍了使用嵌套的包含树枝的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的header.twig中:

<ul class="nav list-unstyled">
    {% for item in data %}
       {% include 'partials/item/header/item-nav.twig' %}
    {% endfor %}
</ul>

在我的item-nav.twig

in my item-nav.twig

<li><a href="{{ data.url }}">{{ data.menu_name }}</a></li>

header.twig包含在base.twig中.我在base.php文件中渲染了base.twig.在哪里可以添加数据array来处理data.urldata.name?在base.php中?还是我再次渲染文件php?谢谢.

header.twig is included in base.twig. I rendered base.twig in base.php file. Where I can add data arrayto process data.url and data.name? in base.php ? or i rendered file php again ? Thank you.

base.php

include __DIR__ . '/../vendor/autoload.php';

$renderer = new \Resilient\TwigRenderer(__DIR__ . '/../vemale-beta-desktop/templates/', ['debug'    => true]);

$renderer->addExtension(new Twig_Extension_Debug());

$faker = Faker\Factory::create();

$data = [
    'assets_url' => 'http://devel.merdeka.com/ui/2017/april/Vemale/',
    'meta_title' => 'Vemale Beta',
    'meta_description' => 'Vemale Beta Desktop',
    'data' => ['menu_name' => 'PARENTING']
];

/*foreach ( range(0, 10) as $k ) {
    $data['data'][] = [ 'title' => $faker->sentence() ];
}*/

$response = $renderer->render(new \Zend\Diactoros\Response(),'base.twig', $data);

$emitter = new Zend\Diactoros\Response\SapiEmitter();

$emitter->emit($response);

推荐答案

header.twig

<ul>
    {% for item in data %}
        {{ include('partials/item-nav.twig') }}
    {% endfor %}
</ul>

item-nav.twig

<li><a href="{{ item.<some-property> }}">{{ item.<other-property> }}</a></li>

这篇关于使用嵌套的包含树枝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆