有没有人知道如何使用Symfony 1.4在模板中添加样式表?
我已经尝试了我能想到的一切,从修改frontend / config / view.yml到修改模板本身 - 两种方式都有效。
我从搜索中看到,其他人也有同样的问题。在使用include_stylesheets和use_stylesheets之间似乎存在冲突 - 但是在AFAIK的任何地方都没有记录。
答案 0 :(得分:5)
修改强>
好的,我想我现在知道了。您应该将include_stylesheets()
添加到布局文件的head
部分:
<html>
<head>
<title>This is the title</title>
<?php include_stylesheets() ?>
</head>
<body>
<!-- ... -->
然后在模板文件中,使用use_stylesheet()
为此模板添加特定样式表:
<?php use_stylesheet('/path/to/stylesheet.css') ?>
include_stylesheets()
为view.yml中配置的所有样式表打印<link>
标记或添加到响应对象。
use_stylesheet()
将样式表添加到响应对象。
Javascript也一样。
根据API documentation,它应该仍然适用于1.4,sfWebResponse
仍有此方法:
addStylesheet ($file, $position, $options) $file The stylesheet file $position Position $options Stylesheet options Adds a stylesheet to the current web response.
至少存在这种方法 究竟是什么问题?如果你想调用那个方法或者没有添加样式表,你会收到错误吗?
答案 1 :(得分:4)
http://www.symfony-project.org/tutorial/1_4/en/upgrade#removal_of_the_common_filter
从1.4开始,您的javascripts和样式表不再自动注入到您的head标签中。相反,您需要在布局中包含以下内容:
<?php include_javascripts() ?>
<?php include_stylesheets() ?>
如果你的帖子标题不是拼写错误,你会想要在回复中使用addStylesheet('...'):
$sf_response->addStylesheet('main');
答案 2 :(得分:0)
$sf_context->getResponse()->addStylesheet('style.css')
$sf_context->getResponse()->addJavascript('script.js')