>  기사  >  php教程  >  symfony2 twig模板引擎,symfony2twig模板

symfony2 twig模板引擎,symfony2twig模板

WBOY
WBOY원래의
2016-06-13 08:45:56786검색

symfony2 twig模板引擎,symfony2twig模板

1、基本语法

Says something:{{    }}

Does something:{%  %}

Comment something:{#    #}

{% extends "AppWebBundle::layout.html.twig" %}继承模板

2、核心概念:

用类的继承关系去管理页面之间的关系

如果要访问某个bundle里的资源文件,需要将文件拷贝到/web 目录下,或者linux/mac 软连接映射到/web目录下

windows:  >php app/console assets:install web

linux:  >php app/console assets:install web --symlink --relative

3、js css文件管理

(1)直接使用某个CSS/JS文件:{{asset('xxx.js')}}

(2)注册/定义资源:{% javascripts %} {% stylesheets %}

# 会将&lsquo;AppWebBundle/Resources/public/js/&rsquo;目录下所有的js文件依次输出<br />{% block my_js %<span>}
    {</span>% javascripts '@AppWebBundle/Resources/public/js/*' %<span>}
        </span><script type="text/javascript" src="{{ asset_url }}"></script><span>
    {</span>% endjavascripts %<span>}
{</span>% endblock %}

并在app/config/config.yml配置:

assetic:<span>
    bundles</span>:        [ AppWebBundle ]

(3)页面间共享CSS/JS文件的通用策略

 

<span>#<span>layout.html.twig</span><br />...<br /><</span><span>head</span><span>></span>
        <span><!--</span><span>start globalcss </span><span>--></span><span>
        {% block global_css %}
            {% stylesheets 
                '@AppWebBundle/Resources/public/css/bootstrap.min.css'
                '@AppWebBundle/Resources/public/css/bootstrap-theme.min.css'
                '@AppWebBundle/Resources/public/css/main.css'
            %}
                </span><span><</span><span>link </span><span>rel</span><span>="stylesheet"</span><span> href</span><span>="{{ asset_url }}"</span><span>></span><span>
            {% endstylesheets %}
        {% endblock %}
        </span><span><!--</span><span>end globalcss </span><span>--></span>
        
        <span><!--</span><span>start globaljs </span><span>--></span><span>
        {% block global_js %}
            {% javascripts '@AppWebBundle/Resources/public/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js' %}
                </span><span><</span><span>script </span><span>type</span><span>="text/javascript"</span><span> src</span><span>="{{ asset_url }}"</span><span>></</span><span>script</span><span>></span><span>
            {% endjavascripts %}
        {% endblock %}
        </span><span><!--</span><span>end globaljs </span><span>--></span><span>
        
        {% block my_js %}
        {% endblock %}
        
        {% block my_css %}
        {% endblock %}
</span><span></</span><span>head</span><span>></span>
<span>#index.html.twig<br />{% extends "AppWebBundle::layout.html.twig" %}
{% block maincontent %}

{% block my_js %}
    {% javascripts '@AppWebBundle/Resources/public/js/index/*' %}
        </span><span><</span><span>script </span><span>type</span><span>="text/javascript"</span><span> src</span><span>="{{ asset_url }}"</span><span>></</span><span>script</span><span>></span><span>
    {% endjavascripts %}
{% endblock %}

{% block my_css %}
    {% stylesheets '@AppWebBundle/Resources/public/css/index/*' %}
        </span><span><</span><span>link </span><span>rel</span><span>="stylesheet"</span><span> href</span><span>="{{ asset_url }}"</span><span>></span><span>
    {% endstylesheets %}
{% endblock %}

{% block footer %}
    {{ parent() }} //会沿用父页面的footer,不被重写
{% endblock %}
{% endblock %}</span>

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.