如何正确包含symfony样式表?

时间:2012-06-20 08:01:24

标签: css symfony1 symfony-1.4

我有一个简单的模板(layout.php),我使用Propel作为ORM。

当我使用函数include_stylesheets()包含sylesheets(在layout.php中)时,我变成了2 css:

  

/sfPropelORMPlugin/css/global.css

     

/sfPropelORMPlugin/css/default.css

为什么呢?

当我查看我的view.yml实际上我只有这个:

default:
  http_metas:
    content-type: text/html
  stylesheets:
  has_layout:     true
  layout:         layout

我没有配置样式表,但我在Head标签中看到了Propel css!

我的 generator.yml

generator:
 class: sfPropelGenerator
 param:

 ##CONFIG##

config:
  actions: ~
  fields:  ~
  list:    ~
  filter:  ~
  form:    ~
  edit:    ~
  new:     ~

这是一个错误吗?或只是一个错误的配置?

1 个答案:

答案 0 :(得分:1)

这主要是因为当您使用管理模板(see this file)时会自动加载:

<?php if (isset($this->params['css']) && ($this->params['css'] !== false)): ?>
  [?php use_stylesheet('<?php echo $this->params['css'] ?>', 'first') ?]
<?php elseif(!isset($this->params['css'])): ?>
  [?php use_stylesheet('<?php echo sfConfig::get('sf_admin_module_web_dir').'/css/global.css' ?>', 'first') ?]
  [?php use_stylesheet('<?php echo sfConfig::get('sf_admin_module_web_dir').'/css/default.css' ?>', 'first') ?]
<?php endif; ?>

这意味着您可以在generator.yml中定义自己的css(并且不会加载默认的css),例如:

generator:
  class: sfPropelGenerator
  param:
    css:          /css/my_css.css

或删除它们:

generator:
  class: sfPropelGenerator
  param:
    css:          false

修改

最后,您可以从view.yml

中删除它们
default:
  http_metas:
    content-type: text/html
  stylesheets:
    - -/sfPropelORMPlugin/css/global.css
    - -/sfPropelORMPlugin/css/default.css
  has_layout:     true
  layout:         layout