Я все еще несколько смущен тем, как MVC должен работать.Real World MVC - Работа с формами
Допустим, у меня есть сайт, который продает виджеты. У меня есть страница с листингом, /widgets/list
и страница продукта /widgets/product/123
.
Оба они могут использовать контроллер widget
и вызывать методы list
и product
- достаточно простые до сих пор. Допустим, у меня также есть несколько других контроллеров для разных вещей.
Теперь я добавляю окно регистрации информационного бюллетеня в мой заголовок - то есть на каждой странице сайта. Как это будет работать? У меня есть идея, что он должен быть отправлен в /newsletter/signup
Но что произойдет, если произошла ошибка (скажем, вы не указали свой адрес электронной почты правильно)? Он должен показывать любую страницу, на которой вы были (например, /widgets/list
), но необходимо запустить контроллер newsletter
. Контроллер widget
не знает о контроллере newsletter
, поэтому я не могу поместить туда код ... Как это должно работать?
Редактировать: Нет AJAX пожалуйста - я могу понять это более легко. Подумайте об этом, когда javascript отключен.
Edit 2: Любые примеры или учебники, охватывающих такие вещи были бы оценены
Edit 3: Это допустимая для представления для вызова действия? Например, заголовок может называть Newsletter->index()
Если у меня есть существующий веб-сайт с 10 контроллерами, каждый из которых имеет 5 действий, разве это не значит, что мне пришлось бы отредактировать 50 функций, если бы я добавил подписку на бюллетень в заголовок? – Greg
Ну, это будет исключение, если он отправляется на отдельную страницу. Большинство форм не отображаются на нескольких страницах, только такие материалы, как информационные бюллетени, вход в систему и, возможно, регистрация. В целом, вышесказанное довольно эффективно. – ryeguy