首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zend框架中的样式表视图助手

问zend框架中的样式表视图助手
EN

Stack Overflow用户
提问于 2012-06-29 15:16:09
回答 2查看 2.5K关注 0票数 0

我想在head标记中附加css样式表,但被附加到body标记中。这是我所做的:我有一个控制器'countries‘,带有action 'index’,我的视图是index.phtml

index.phtml包含:

代码语言:javascript
复制
<?php
 $this->headLink()->appendStylesheet($this->baseUrl().'/js/dojo-1.7/dojo/resources/dojo.css')
             ->appendStylesheet($this->baseUrl().'/js/dojo-1.7/dojox/grid/resources/claroGrid.css');
 echo $this->headLink();

这会导致样式表被附加到body标记中。我只想将这些样式表追加到此操作中。我不想在我的layout.phtml中包含这个样式表,我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-29 15:48:54

您所做的是正确的,但是您在添加样式表之后就在视图中回显了headLink(),这就是在错误的位置输出链接的原因。更改您的代码,这样您就可以:

在index.phtml中:

代码语言:javascript
复制
$this->headLink()->appendStylesheet($this->baseUrl().'/js/dojo-1.7/dojo/resources/dojo.css')
         ->appendStylesheet($this->baseUrl().'/js/dojo-1.7/dojox/grid/resources/claroGrid.css');

然后在layout.phtml中(在要显示样式表链接的<head>部分中):

代码语言:javascript
复制
echo $this->headLink();
票数 3
EN

Stack Overflow用户

发布于 2012-06-29 15:31:02

您将此代码添加到了错误的位置。

如果您以这种方式从.phtml中添加样式表,那么您就处于文档的主体中。

要将样式表添加到单个页面的头部,请从控制器中的操作代码添加样式表:

代码语言:javascript
复制
public function someAction() {
    $this->view->headLink()->appendStylesheet($this->baseUrl().'/js/dojo-1.7/dojo/resources/dojo.css');
}

或者,如果您希望向控制器的所有操作添加样式表,则可以在控制器的init()方法中使用相同的代码:

代码语言:javascript
复制
public function init() {
     $this->view->headLink()->appendStylesheet($this->baseUrl().'/js/dojo-1.7/dojo/resources/dojo.css');    
}

如果需要覆盖当前样式表,可以使用setStylesheet(),也可以使用prependStylesheet()或appendStylesheet()。

祝你好运。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11257626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档