Многие приложения имеют небольшие блоки кода, который должен быть на каждой странице, иногда в разных местах. Cake может помочь вам повторять куски вашего веб-сайта, которые нужно неоднократно использовать. Эти повторяющиеся части называются элементами. Реклама, блоки помощи, навигационный контроль, дополнительные меню и выноски представлены в Cake как элементы. Элемент это в основном мини-отображение, которое можно включать в другие отображения. Элементы могут быть использованы для того, чтобы сделать ваше отображение более удобочитаемым, размещая повторяющиеся элементы в свои собственные файлы. Они также могут помочь вам повторно использовать фрагменты содержимого в вашем приложении.
Элементы обитают в каталоге /app/views/elements/, и имеют расширение .ctp.
<?php echo $this->element('helpbox'); ?>
Вы можете передавать данные элементу через второй аргумент элемента:
<?php echo
$this->element('helpbox',
array("helptext" => "Да, этот текст очень полезен."));
?>
Внутри файла элемента, все переданные переменные доступны, как члены массива (таким же образом, как set() в контроллере работает с файлами отображений).
В примере выше файл /app/views/elements/helpbox.ctp может использовать переменную $helptext.
<?php
echo $helptext; //выводит "Да, этот текст очень полезен."
?>
Функция element() комбинирует настройки для элемента с передаваемыми данными. Две настройки: 'cache' и 'plugin'. Пример:
<?php echo
$this->element('helpbox',
array(
"helptext" => "Это передано в элемент как $helptext"
"foobar" => "Это передано в элемент как $foobar"
"cache" => "+2 days" //устанавливает кэширование в +2 days.
"plugin" => "" //для выполнения элемента из плагина
)
);
?>