Symfony2CookBook:如何将变量注入全部模板(如全局变量)-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

Symfony2CookBook:如何将变量注入全部模板(如全局变量)

简介:
+关注继续查看

Sometimes you want a variable to be accessible to all the templates you use. This is possible inside your app/config/config.yml file:
有时您希望有个变量能够被您所使用的所有模板访问,这可以在您app/config/config.yml文件中设定:


  1. # app/config/config.yml 
  2. twig: 
  3.     # ... 
  4.     globals: 
  5.         ga_tracking: UA-xxxxx-x 

Now, the variable ga_tracking is available in all Twig templates:
现在,变量ga_tracking可以被所有Twig模板访问:


  1. <p>Our google tracking code is: {{ ga_tracking }} </p> 

It's that easy! You can also take advantage of the built-in Service Parameters system, which lets you isolate or reuse the value:
这很容易!您也可以利用内建的服务参数系统,该系统可以让您隔离或重用该值:


  1. ; app/config/parameters.yml 
  2. [parameters] 
  3.     ga_tracking: UA-xxxxx-x

  1. # app/config/config.yml 
  2. twig: 
  3.     globals: 
  4.         ga_tracking: %ga_tracking% 

The same variable is available exactly as before.
该变量同先前完全相同。

More Complex Global Variables
更复杂的全局变量

If the global variable you want to set is more complicated - say an object - then you won't be able to use the above method. Instead, you'll need to create a Twig Extension and return the global variable as one of the entries in the getGlobals method.
如果您要设置的全局变量更复杂(如一个对象),那么您将无法使用上述方法。相反,您需要创建一个Twig扩展并返回全局变量。该全局变量作为getGlobals方法返回的全局变量列表中的成员。



本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/1008587,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2957 0
【高并发】终于弄懂为什么局部变量是线程安全的了!!
相信很多小伙伴都知道局部变量是线程安全的,那你知道为什么局部变量是线程安全的吗?
23 0
PHP中全局变量$_REQUEST、 $_GET、 $_POST、 $_COOKIE 的关系和区别 (转载)
原文地址找不到了 sorry $_REQUEST、 $_GET、 $_POST、 $_COOKIE  的关系和区别:1.关系:$_REQUEST包含了$_GET、$_POST、$_COOKIE的所有内容,是它们的集合体。
881 0
thinkphp模板输出变量使用一个或多个函数
我们往往需要对模板输出变量使用函数,可以使用: {$data.name|md5}  编译后的结果是: 如果函数有多个参数需要调用,则使用: {$create_time|date="y-m-d",###} 表示date函数传入两个参数,每个参数用逗号分割,这里第一...
1056 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13695 0
shell 全局和局部变量
/******************************************************************** * shell 全局和局部变量 * 声明: * 到目前为止,在写shell脚本的时候,经常被shell的函数中的变量 * 作用域搞得糊涂,于是今天特意查了点资料,看到底怎么回事。
608 0
Python Flask 简明教程(9)--模板之渲染变量
本文目录 1. 前言 2. 渲染变量 2.1 普通变量 2.2 字典 2.3 对象 3. 小结
8 0
linux进程的堆栈空间_代码段(指令,只读)、数据段(静态变量,全局变量)、堆栈段(局部变量)、栈【转】
转自:http://blog.csdn.net/gongweijiao/article/details/8207333 原文参见:http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201215115845553/    一)概述   .堆栈是一个用户空间的内存区域,进程使用堆栈作为临时存储。
799 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载