Visualizações: incluindo várias visualizações em uma visão
Pergunta
Eu desenvolvi um aplicativo com diferentes MVCs usando a estrutura YII
Por exemplo
Criei uma camada CRUD para detalhes de contato do aluno e cursos de estudantes etc.
Tudo funcionou perfeitamente, pois cada um tinha seu próprio menu e, quando clicado, a própria visualização renderizada.
Agora, meu cliente quer tudo em uma página e é bastante persistente, estamos falando de 7 MVC que precisam ser exibidos em uma página. Cada MVC possui seu próprio controlador, modelo e visualização e tabela de banco de dados. Como posso renderizar todos eles em uma página sem reescrever todo o aplicativo? Isso é possível.
Solução
Se eu entendi seu problema corretamente, basta mesclar todos os itens de menu e mostrar a navegação completa em cada página.
Ao separar os menus em vistas independentes e incluir cada uma delas em uma visão de navegação, você pode ter um código não repetido bem estruturado.
$this->renderPartial('anotherView');
é praticamente tudo o que você precisa saber para começar. Isso só é chamável em visualizações como $this
refere -se ao objeto controlador atual.
Outras dicas
Você pode usar visualizações de outros controladores:
$ this-> renderParcial ('Application.Views.student_contact.show', Array ('Model' => $ modelo));
Espero que isto ajude.