Если встроенный хелпер (или представленный на Cakeforge Пекарни) не подходит вам, то хелперы легко создать.
Допустим, мы хотим создать хелпер, который будет использоваться в различных местах вашего приложения для вывода, специально созданного (со стилями из CSS) линка. Для этого вам необходимо создать новый класс в /app/views/helpers. Давайте назовем наш хелпер LinkHelper. Реальный PHP файл с классом будет выглядеть так:
<?php
/* /app/views/helpers/link.php */
class LinkHelper extends AppHelper {
function makeEdit($title, $url) {
// здесь код по созданию линка ...
}
}
?>
В Helper классе CakePHP существует несколько методов, которые вы можете захотеть использовать:
Используйте эту функцию для передачи любых данных обратно в ваше отображение.
<?php
function makeEdit($title, $url) {
// Используем функцию хелпера output для передачи
// отформатированных данных обратно в отображение:
return $this->output(
"<div class=\"editOuter\">
<a href=\"$url\" class=\"edit\">$title</a>
</div>"
);
}
?>
Вы можете захотеть использовать некоторую функциональность уже существующую в других хелперах. Для этого вы можете определить хелперы, которые хотите использовать, с помощью массива $helpers.
<?php
/* /app/views/helpers/link.php (использование других хелперов) */
class LinkHelper extends AppHelper {
var $helpers = array('Html');
function makeEdit($title, $url) {
// Используем HTML хелпер для вывода
// оформатированных данных:
$link = $this->Html->link($title, $url, array('class' => 'edit'));
return $this->output("<div class=\"editOuter\">$link</div>");
}
}
?>
<< Использование помощников | Создание функциональности для всех помощников >>