すべてのページで要素をレンダリングする必要があるため、default.ctp で呼び出しました。2 つまたは 3 つの特定のページに表示されないようにしたい。
私はグーグルで解決策を見つけました。これは、私がやりたいことを正確に実行しようとしています:
このソリューションでは、要素に次のコードを配置することで、要素の名前とパスが抽出されます。
<?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 のドキュメントに参照が見つかりませんでした。