Zend Framework 1.12可以';t从视图模板添加样式表


Zend Framework 1.12 can't add stylesheets from view templates

我有一个布局,其中包括一个名为"_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>