如何在模板文件中使用appendstylesheet?

时间:2011-11-21 13:54:18

标签: php zend-framework

我正在为我的项目使用zend。我在<HEAD>

中有如下代码
    <?=  $this->headLink()
        ->appendStylesheet(BASE_URL . 'css/css.css') 
        ->appendStylesheet(BASE_URL . 'css/front.css') 
        ->appendStylesheet(BASE_URL . 'css/jquerymenu.css')
        ->appendStylesheet(BASE_URL . 'css/lider.css'); ?>

在我的模板页面中,list.phtml的代码如

<?=  $this->headLink()->appendStylesheet(BASE_URL . 'css/templates/list.css');  ?>

所以这个附加样式表两次,

1. Inside <HEAD> tag
2. Inside that list.phtml.

如何在zend中仅包含<HEAD>标记内?或者是否可以仅在用户打开列表页面时应用此list.css? 通过这样做,我们可以通过w3验证。对此提出建议吗?

2 个答案:

答案 0 :(得分:3)

短标签<?=等于<?php echo。所以在你的viewtemplate中只需使用

<?php  $this->headLink()->appendStylesheet(BASE_URL . 'css/templates/list.css');  ?>

这将添加list.css,当您调用headLink()时,它将与布局模板中的其他样式表一起回显。

要确保您的基本CSS是第一个加载的,您可以使用prependStylesheet()

另请考虑使用短标签,请参阅this question for more信息。

答案 1 :(得分:0)

问题是您使用的是<?=标记,这相当于写下以下内容:

<?php echo $this->headLink()->appendStylesheet(...); ?>

<?=替换为<?php,您不应该将其显示两次。

希望有所帮助,