2

我在布局上设置了少量样式$this->headLink()->appendStylesheet(),我正在尝试从视图中附加另一个样式表。但是,视图中的样式表始终是 headLink 堆栈中呈现的第一个样式表。

布局.phtml:

echo $this->headLink()->appendStylesheet($this->basePath('css/styleA.css'))
                      ->appendStylesheet($this->basePath('css/styleB.css'));

然后在视图中我尝试了以下

视图.phtml:

$this->headLink()->appendStylesheet($this->basePath('css/sub/styleC.css'));

$this->headLink()->offsetSetStylesheet(100, $this->basePath('css/sub/styleC.css'));

但是,两者最终都以 styleC 为呈现的第一个链接标记。我知道首先渲染子视图(即 view.phtml 在 layout.phtml 之前渲染),但我认为 headLink 和 headScript 等助手具有共享堆栈,只要渲染器相同。这个假设是错误的吗?

4

1 回答 1

2

您需要在布局中添加样式表,例如:

echo $this->headLink()->prependStylesheet($this->basePath('css/styleB.css'))
                      ->prependStylesheet($this->basePath('css/styleA.css'));

并像以前一样在视图中附加样式表。

于 2013-07-22T15:19:01.237 回答