2014-08-27 3 views
1

Я пытаюсь в течение последних 2 дней, как встраивать представление с другого контроллера.Cakephp - Загрузить вид с другого представления в другом контроллере

У меня есть два стола (гостиницы, hotelQuotes), связанные друг с другом. Стол для гостиниц связан с огромным количеством гостиничных номеров в отеле, а также с гостиницами Quotes с сайтом, принадлежащим сайту. Оба они связаны друг с другом и работают, они оба показывают свой связанный контент без проблем.

ОтельQuotes это в значительной степени форма, где пользователи заполняют ее, а затем отправляет электронную почту с заполнением пользователем. Все работает до сих пор.

Что я хочу, когда я показываю информацию об отеле, также должен показать эту форму, я не хочу, чтобы пользователь перешел на другую страницу, чтобы заполнить форму. Поэтому я очень хочу встроить представление hotelQuotes/Добавить в отель/посмотреть.

Я делаю, что использование элементов, в соответствии с рекомендациями последней ночи в #cakephp IRC канале, а также здесь, в StackOverflow в: Embedding view in another view with CakePHP

Проблема заключается в том, что, когда я делаю это, связь между этими двумя моделями сломается. Я имею в виду, что пользователи заполняют форму, но мне негде знать, откуда эта форма, от какого отеля. Он просто не показывает эту важную для меня информацию.

Я читал про передачу переменных при использовании элементов по адресу: http://book.cakephp.org/2.0/en/views.html#passing-variables-into-an-element, но я не знаю, как передать переменную в поле выбора формы. Я использую CakePHP 2.5.2.

Надеюсь, я объясню себе, что здесь ясно, любой ввод будет оценен. Дополнительную информацию см. На картинке ниже:

http://i.stack.imgur.com/wcG64.jpg Редактировать> Я просто понял, что форма даже не представляется при использовании элементов. Почему это так?

+0

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

ответ

1

Хорошо, я только что понял.

Форма не отправлялась даже при вызове ее из элементов. Так что я просто прошла акция себя так:

echo $this->Form->create('Hotelquote', array(
    'action' => 'add' 
)); 

И теперь работает.

+0

Это хорошая работа. –

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