Аз съм в ситуация, в която се опитвам да предам стойност от действие на контролер към елемент директно.
Единственият начин, по който знам как да направя това, е с requestAction(), но не ми харесва да използвам тази функция поради ресурсни причини и не се препоръчва в ръководството.
Може ли някой да хвърли малко светлина върху друг метод?
Ето какво имам сега:
Действие на Bird Controller:
function element_array_pass() {
$this->paginate['Bird'] = array(
'fields' => array('id', 'name'),
'contain' => array('id', 'name'),
'order' => 'Bird.id'
);
$bird_elmnt = $this->paginate('Bird');
$this->set(compact('bird_elmnt', $bird_elmnt));
}
dir: views/elements/element_array_pass.ctp
debug($bird_elmnt); // nothing being passed here.
dir: views/birds/index.ctp
Включвам елемента в този файл, но масивът няма да премине.
echo $this->element('element_array_pass',array("bird_elmnt" => $bird_elmnt)); // call to element.
Бих искал да включа този елемент в моя index.ctp със стойности, предадени от action(), който включих по-горе.
paginate
е обект, а не масив. Потърсете го в ръководството. Трябва да показва как да получите достъп до него. - person Eric   schedule 20.07.2011paginate
е масив в контролера - person Anh Pham   schedule 20.07.2011'contain' => array('id', 'name')
- person Anh Pham   schedule 21.07.2011