Ho un percorso che attiva un controller che restituisce a me una pagina attraverso una vista. Chiamiamola pagina principale .
route -> controller -> view [master page]
La pagina principale è divisa in intestazione, barra laterale, corpo e piè di pagina. E poichè la barra laterale può essere caricata su altre pagine, e non solo sulla pagina master, ha il proprio file View.
Tuttavia, la barra laterale dovrebbe ricevere i dati dall'utente, che verrebbero ottenuti tramite un modello. E in teoria, il modello può essere chiamato solo da un controller, che chiama la vista, tuttavia questa vista è la pagina principale, non la barra laterale.
[...] -> view [master page] -> view [sidebar]
Quindi pensavo che le possibilità fossero le seguenti, e l'idea è sapere se è giusto o sbagliato, o forse è un altro modo che non potrei immaginare.
- Il Controller caricherà i dati dal Modello e applicherà la barra laterale che, a sua volta, sarà applicata alla pagina principale. Il problema qui è, in un caso "più profondo", estremamente laborioso e difficile da capire.
- Il controller esegue il modello, ma invia alla pagina principale, che sarebbe responsabile del caricamento della barra laterale Visualizza e passerà le informazioni del modello ad esso. In questo caso, il lavoro passerebbe alle informazioni tra gli strati, per quanto necessario per prendere le informazioni.
- Il controllore caricherà solo la pagina principale Visualizza, che caricherà la barra laterale, che sarà responsabile dell'esecuzione del modello (all'interno della vista). Il problema qui è che una vista teoricamente non dovrebbe eseguire un modello, stampa le informazioni già elaborate nel controller.
Quale sarebbe il modo più appropriato per eseguire correttamente questo processo?