Я пытаюсь создать элемент, который содержит форму, чтобы ее можно было использовать по всему сайту.Модель, используемая формой, имеет отношение ownTo с другой таблицей.В представлении запеченного добавления я получаю красивый HTML-элемент select со всеми значениями из связанной таблицы.Подумайте о сообщениях в блоге и выборе из списка категорий.
Как я могу создать элемент, который работает таким же образом?
Я попытался вставить данные в элемент, используя
$someVar = $this->requestAction('posts/add');
ив PostsController
...
$categories = $this->Post->Category->find('list');
if (isset($this->params['requested'])) {
return compact('categories');
} else {
$this->set(compact('categories'));
}
, но я не знаю, где эти данные должны идти, чтобы они были подхвачены
echo $this->Form->input('category_id');
Я использую CakePHP 2.0, хотя это, вероятно, применимок другим версиям.
РЕДАКТИРОВАТЬ
Я был почти там, и ответ от Oldskool показал мне, что это было возможно, поэтому я копался в переменную $this
и нашел гдеэто должно идти.В представлении используйте:
$this->viewVars = $this->requestAction('posts/add');
, и элемент select заполняется, как в представлении запеченного добавления (т.е. автоматически).