我有一个关于Symfony中的view.yml文件的问题。基本上,我希望能够在view.yml文件的帮助下将某些javascript SDK包含在我的布局中,如下所示:
首先,我将在相应的视图文件中添加一个条目:
all:
load_facebook: true
load_twitter: true
stylesheets:
javascripts: 然后在布局中执行如下操作:
<?php if (sfConfig::get('view_load_facebook', true)): ?>
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: '<?php echo sfConfig::get('app_facebook_comment_app_id') ?>',
status: true,
cookie: true,
xfbml: true
});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
<?php endif; ?>不幸的是,我无法通过sfConfig:: get ('view_load_facebook')获得选项,因此我猜它们从未被加载过。有没有人用过这样的东西?我认为将此选项放在view.yml文件中是一个非常好的主意,因为它将非常容易实现并且非常灵活。
谢谢,
文斯
发布于 2010-10-26 03:23:27
您可以将自定义设置存储在app.yml文件中:
all:
load_facebook: true
load_twitter: true 然后使用sfConfig::get(app_load_facebook)
发布于 2010-10-27 17:38:39
你不能在模块目录中创建一个app.yml文件吗?无论如何,我不知道这是不是一个好的解决方案。
或者,您也可以使用插槽。
或者,更好的做法是,将SDK的所有代码放在一个JS文件中,并将其插入到view.yml中
https://stackoverflow.com/questions/4016195
复制相似问题