symfony中自定模板及调用方式

symfony中twig页面渲染自定义组件的方式介绍

Controller:自定义模板需要用的Acion:
/**
     * 网站左侧银行列表(导航)
     *
     */
    public function BankListAction()
    {
        $em = $this->getDoctrine()->getManager();

        $bankEntities = $em->getRepository('AcmeDemoBundle:Bank')
            ->findBy(array(),array('sort'=>'desc'));

        return $this->render('AcmeDemoBundle:Bank:banklist.html.twig', array(
            'bankEntities' => $bankEntities,
        ));
    }


twig:要自定义的模板:
{#% extends "AcmeDemoBundle::layout.html.twig" %#}
<div class="list fl">
    <div class="box">
        <div class="title"><h1>银行列表</h1></div>
        <ul>
            {% if bankEntities is defined and bankEntities is not empty %}
                {% for bank in bankEntities %}
                    <li><a href="{{ path('bank_show',{'id':bank.id}) }}"><img src="{{ bank.logo }}"/></a></li>
                {% endfor %}
            {% else %}
                <li><a href="javascript:void(0)">暂无银行信息。</a></li>
            {% endif %}
        </ul>
        <a href="{{ path('bank') }}" class="more">查看更多 >></a>
    </div>
</div>


routing:路由声明:

# 网站左侧导航菜单——银行列表
navigation_bankList:
    pattern:  /navBankList
    defaults: { _controller: "AcmeDemoBundle:Bank:BankList" }



view:twig页面调用方式:

<!-- 银行列表 -->
{{ render(controller('AcmeDemoBundle:Bank:BankList')) }}
{# { include('AcmeDemoBundle:Bank:banklist.html.twig') } #} {# 此法貌似有误,暂未细究 #}


官方文档地址:http://symfony.com/doc/current/book/templating.html#including-other-templates




转载于:https://my.oschina.net/bigtree/blog/198016

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值