Я все еще несколько озадачен тем, как MVC должен работать.
Допустим, у меня есть сайт, продающий виджеты. У меня есть страница со списком /widgets/list
и страница продукта /widgets/product/123
.
Оба они могут использовать контроллер widget
и вызывать методы list
и product
- пока что достаточно просто. Допустим, у меня также есть несколько других контроллеров для разных вещей.
Теперь я добавляю поле для подписки на новостную рассылку в свой заголовок, то есть на каждую страницу сайта.
Как это будет работать? Я понимаю, что он должен представить /newsletter/signup
Но что произойдет, если возникнет ошибка (скажем, вы не правильно указали свой адрес электронной почты)? Он должен показать любую страницу, на которой вы были (например, /widgets/list
), но контроллер newsletter
должен работать. Контроллер widget
не знает о контроллере newsletter
, поэтому я не могу поместить туда код ... Как это должно работать?
Редактировать: Нет AJAX, пожалуйста - я могу понять это легче. Считайте, что это запасной вариант, когда JavaScript отключен.
Редактировать 2: Любые примеры или учебные пособия, охватывающие такого рода вещи, будут очень признательны
Редактировать 3: Разрешено ли представлению вызывать действие? Например, заголовок может вызвать Newsletter->index()