就像我之前做的那样,我将以下代码用于我的新项目。
<?=$this->headLink()->appendStylesheet('/Layouts/admin/css/button.css');?>
<?=$this->headLink()->appendStylesheet('/Layouts/admin/css/inputText.css');?>
<?=$this->headLink()->appendStylesheet('/Layouts/admin/css/fancyTable.class.css');?>
当我打开网站并查看源代码时,会有重复的css链接标记。
<link href="/Layouts/admin/css/button.css" media="screen" rel="stylesheet" type="text/css" ><link href="/Layouts/admin/css/button.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/Layouts/admin/css/inputText.css" media="screen" rel="stylesheet" type="text/css" ><link href="/Layouts/admin/css/button.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/Layouts/admin/css/inputText.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/Layouts/admin/css/fancyTable.class.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/Layouts/admin/css/button.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/Layouts/admin/css/inputText.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/Layouts/admin/css/fancyTable.class.css" media="screen" rel="stylesheet" type="text/css" >
<link href="/Layouts/admin/css/divine.css" media="screen" rel="stylesheet" type="text/css" >
我的代码发生了什么?
答案 0 :(得分:11)
你不应该单独回应它们。
应该有一个地方打印HeadLink助手,而所有其他调用只将样式表添加到要打印的助手。例如。视图脚本中的任何位置都有以下规则:
<?php $this->headLink()->appendStylesheet('/Layouts/admin/css/button.css'); ?>
<?php $this->headLink()->appendStylesheet('/Layouts/admin/css/inputText.css'); ?>
<?php $this->headLink()->appendStylesheet('/Layouts/admin/css/fancyTable.class.css'); ?>
然后在你的<head>
:
<?= $this->headLink() ?>
或者,如果它们都在同一个地方,你可以将它们连在一起
<?= $this->headLink()
->appendStylesheet('/Layouts/admin/css/button.css')
->appendStylesheet('/Layouts/admin/css/inputText.css')
->appendStylesheet('/Layouts/admin/css/fancyTable.class.css'); ?>
将使用附加的3个样式表打印HeadLink助手的内容。
另见HeadLink helper Zend documentation;特别是这个例子。