Helper jest używany żeby wykonywać te same zadania, ten sam kod, w różnych widokach. Z czasem jak projekty robią się większe i skomplikowane, metody HtmlHelper przestają wystarczać. Powstaje potrzeba renderowania w wielu miejscach dużych fragmentów HTML. CakePHP nie wspiera bezpośrednio takiej konstrukcji, ale jest to możliwe i działa prawidłowo. Musimy dobrać się do widoku, który nie jest bezpośrednio dostępny, jakby podpowiadała to inturicja. Na szczęście można się do niego odwołać poprzez zmienną $this->_View , widok jest przekazywany w konstruktorze. Jeśli ktoś wie dlaczego nie powinno się odwoływać w ten, sposób albo co takie manipulowanie może popsuć proszę o wpis w komentarzu. W każdym razie developer frameworka ADmad tak twierdzi tutaj: http://stackoverflow.com/questions/12935517/using-this-element-inside-a-customhelper
Kod renderowania element() w Helper CakePHP:
<?php App::uses('AppHelper', 'View/Helper'); class SliderRendererHelper extends AppHelper { public function __construct(View $View, $settings = array()) { parent::__construct($View, $settings); } public function render_sliders_in_content(){ return $this->_View->element('some_element'); } }