我对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文件中使用此选项是一个非常好的主意,因为它非常容易实现并且非常灵活。
谢谢,
文斯
答案 0 :(得分:1)
您可以将自定义设置存储在app.yml文件中:
all:
load_facebook: true
load_twitter: true
然后用sfConfig :: get(app_load_facebook)
来引用答案 1 :(得分:0)
你不能在模块目录中创建app.yml文件吗?无论如何,我不知道这是否是一个很好的解决方案 或者,您也可以使用插槽 或者,更好的是,将SDK的所有代码放在JS文件中并将其插入view.yml