我想要一个元素在所有页面上呈现,所以我在 default.ctp 中调用它。我想防止它出现在两个或三个特定页面上。
我用谷歌搜索并找到了一个解决方案,它试图做我想做的事情:
在此解决方案中,通过在元素中放置以下代码来提取元素的名称和路径:
<?php
$e = explode('views/elements/',__FILE__);
$e[1] = str_replace('.ctp', '', $e[1]);
if (isset($this->preventElement) && $e[1] == $this->preventElement[$e[1]]) return false;
?>
而您不想在其中渲染该元素的视图,则放置了这行代码:
<?php $this->preventElement['someElement'] = 'someElement';?>
这里使用了视图对象preventElement
,但是在测试它时我收到了消息preventElementHelper could not be found.
prventElement
我在 cakePhp 文档中找不到任何参考。