1

我有一个布局,其中包含一个名为“_slider.phtml”的模板。在“_slider.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>

谁能解释为什么这不起作用?

4

1 回答 1

2

$this->render('_slider.phtml', 'slider'); 称为 headLink() 的点上;?> 已经发生。

这里唯一真正的选择是<?php echo $this->render('_slider.phtml', 'slider'); ?>在 headLink 调用之前调用。

您可以通过像这样重新排序代码来做到这一点:

<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>
于 2013-07-06T18:17:19.633 回答