我有一个布局,其中包括一个名为"_slider.phtml"的模板。在"_slide.phtml"模板内,我试图使用headLink()包含样式表,但由于某些原因,它没有显示出来。我也没有任何错误。即使我把代码放在"_top.html"或布局本身中,也会发生同样的事情。headScript()运行良好,但headLink()不正常。
我有以下布局结构。
<html>
<head>
<?php echo $this->headMeta(); ?>
<?php echo $this->headLink(); ?>
<?php echo $this->headStyle(); ?>
</head>
<body class="body">
<?php echo $this->render('_top.phtml'); ?>
<?php echo $this->render('_slider.phtml', 'slider'); ?>
<?php echo $this->headScript(); ?>
</body>
</html>
下面是我的"_slider.phtml"模板。
<?php $this->headLink()->appendStylesheet($this->baseUrl('/template/select.css?ver=3.0.1')); ?> //Doesn't work...
<h2>Hello World...</h2>
有人能解释一下为什么不起作用吗?
在调用$this->render('_slider.phtml', 'slider');
时headLink();?>已经发生。
这里唯一真正的选择是在headLink调用之前调用<?php echo $this->render('_slider.phtml', 'slider'); ?>
。
你可以这样重新排序你的代码:
<html>
<head>
<?php $slider = $this->render('_slider.phtml', 'slider'); ?>
<?php echo $this->headMeta(); ?>
<?php echo $this->headLink(); ?>
<?php echo $this->headStyle(); ?>
</head>
<body class="body">
<?php echo $this->render('_top.phtml'); ?>
<?php echo $slider; ?>
<?php echo $this->headScript(); ?>
</body>
</html>