1

我有books/index控制器和视图。视图如下所示:

abcdef
123445
<?php echo $this->element('categorytree'); ?>
xyz
999

我有elements/categorytree元素:

<?php
    function my_function() { echo '123'; } 
    echo 'element is here!';
?>

当我在浏览器中访问书籍/索引时,该元素在没有布局的情况下呈现,因此源输出为:

abcdef
123445
element is here!
xyz
999

当我删除元素中的函数声明时,问题就消失了——整个布局都被渲染了——所以问题是当我在元素内声明任何 php 函数时,如果这个元素被任何视图“获取”,那么只有这个元素在没有布局的情况下被渲染.

这个问题突然出现了,不知道是什么原因...之前我使用element中声明的函数,没有任何问题...

- - - - - - - - - 解决了

哇,这很奇怪 - 问题是由<!-- -->$this->element() 之后的标签引起的...

4

1 回答 1

2

尽管您已经找到了问题的解决方案,但我只想指出,在您的视图中定义函数是一种可怕的做法。一种更好更简洁的方法是创建一个自定义助手,然后简单地使用它。

视图根本不是编写函数或类的地方。

于 2012-05-17T11:52:41.440 回答