Heim > php教程 > php手册 > symfony2 twig模板引擎,symfony2twig模板

symfony2 twig模板引擎,symfony2twig模板

WBOY
Freigeben: 2016-06-13 08:45:56
Original
843 Leute haben es durchsucht

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 %}
Nach dem Login kopieren

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

assetic:<span>
    bundles</span>:        [ AppWebBundle ]
Nach dem Login kopieren

(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>
Nach dem Login kopieren
<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>
Nach dem Login kopieren

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage