1

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

当我在函数中包含样式表(到 layout.php 中)时:include_stylesheets()我变成了 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 Tag 中看到了 Propel css!

我的generator.yml

generator:
 class: sfPropelGenerator
 param:

 ##CONFIG##

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

这是一个错误吗?还是只是配置错误?

4

1 回答 1

1

这主要是因为当您使用管理模板时会自动加载(请参阅此文件):

<?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; ?>

这意味着您可以在中定义自己的 css generator.yml(并且它不会加载默认的 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
于 2012-06-20T08:14:24.377 回答