2013-07-30 2 views
2

Я хотел бы получить доступ к блоку просмотра, который я настраиваю в своем представлении из функции помощника. Хотя я не могу понять это.Как я могу получить доступ к блокам просмотра из помощника в CakePHP 2.x?

Вот что я хотел бы быть в состоянии сделать:

Просмотр файла:

<? $this->start('someblock'); ?> 
    Some content goes here. 
<? $this->end(); ?> 

Helper:

function do_something() { 
    debug($this->fetch('someblock'); 
} 

Я пытаюсь выяснить, как для доступа к содержимому блоков просмотра из помощника. Я бы предпочел не передавать данные в переменной - я уже знаю, как это сделать.

Благодарим за помощь!

ответ

4

Все помощники продлят helper.php, который устанавливает свойство _View для текущего вида.

Таким образом, вы будете использовать:

$this->_View->start('someblock'); 
+1

Это звучит как отличный способ, чтобы начать блок изнутри помощника, но что если бы я начал блок в представлении, и я хочу, чтобы получить доступ к нему из помощник? Пример: Я использую $ this-> start ('someblock') в моем представлении, а затем я вызываю $ this-> SomeHelper-> somefunc(). Могу ли я получить доступ к «someblock» из «SomeHelper»? – Dustin

+1

Да, '$ this -> _ View' указывает на тот же объект View. В большинстве случаев существует только один объект View во время жизненного цикла запроса Cake. (заметным исключением может быть отправка электронной почты - он использует собственный объект View) – Costa

Смежные вопросы