Многоразовые элементы в основном макете CakePHP - PullRequest
0 голосов
/ 03 декабря 2011

Я хотел бы использовать различные виды в макете по умолчанию.

'default.ctp' - это мой основной шаблон макета, и в настоящее время он извлекает только содержимое из 'view / posts / index.ctp'.Тем не менее, я также хотел бы включить мою форму добавления новостей ('view / posts / add.ctp') в этот шаблон.

Это легко сделать?

Я смотрел наруководство по «элементам», но, похоже, оно не помогло.

Спасибо за любые ссылки.

1 Ответ

3 голосов
/ 03 декабря 2011

Если вы хотите отобразить на странице результат одного действия другого действия, Object :: requestAction () может вас остановить.

На месте в представлении (view / posts / index.ctp), гдеВы хотите отобразить другое представление (view / posts / add.ctp), поставьте этот cpode:

echo $this->requestAction('/posts/add', array('return'));

Подробнее о requestAction

В случае, если вы хотите толькосделать другой шаблон - View :: render () для вас.Этот метод отображает шаблон только без выполнения действия и не работает корректно в тех же ситуациях (например, где используется paginator).

Код:

echo $this->render('/Posts/add', false);

'/ Posts / add' -для CakePHP 2, для 1.3 - '/ posts / add'

...