6
respostas

Como adicionar uma view em uma pagina

Olá como eu posso fazer para adicionar uma view dentro de uma pagina? Criei uma view que lista uma serie de usuários, então, eu gostaria de adicionar esta pagina dentro de uma outra pagina.

Segue o que eu tentei:

<?= include base_url("index.php/EventoController/listarAlunosMatriculados"); ?>

Ele acusa o seguinte erro:

Message: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0

Agradeço quem ajudar.

Desde já obrigado

6 respostas

Voce pode adicionar no proprio controller, vamos supor que seu cabecalho seja separado do conteudo principal, voce poderia comocar no controller

$this->load->view("cabecalho.php");
$this->load->view("conteudo.php");

Então acontece que eu não posso fazer dessa forma. Essa view que eu quero chamar, eu pretendo inserir ela dentro de um modal. Então quando o usuário clicar no modal esta chamada ocorrerá.Você teria alguma outra ideia? Desde já obrigado

Você pode passar um 3º parametro nessa função de load da view que a retorna como string ao invés de exibir na tela

$string = $this->load->view('myfile', '', TRUE);

Depois você monta um array com o dados e passa pra view que terá as informações

$dados['modal'] = $string;
$this->load->view("conteudo.php", $dados);

E na view você da um echo de acordo com a chave do array

<?php echo $modal; ?>

Olá Breno. Desculpe não entendi a sua explicação. Aonde eu adiciono está string? No controller?

Gostaria de fazer isto:

<div class="posiciona-esquerda">
    <label for="nomeAlunos">Alunos Matriculados</label>
    <?= include base_url("index.php/EventoController/listarAlunosMatriculados"); ?>

</div>

Existe alguma forma de adicionar a view pelo html?

Esse arquivo

index.php/EventoController/listarAlunosMatriculados

Deve estar em alguma view certo ?

No controller você recupera essa view, como se fosse renderizar ela mesmo, mas em formato de string , passando TRUE como 3º parametro da função load da view, assim:

$minha_view = $this->load->view('caminho_da_view', '', TRUE);

Depois no mesmo controller você passa o $minha_view em um array de variaveis que vai mandar para a tela, assim:

$dados['minha_view'] = $minha_view;
$this->load->view("view_que_vai_ter_outra_view_dentro.php", $dados);

E dentro da view principal você escolhe um lugar e renderiza a $minha_view assim,

<?php echo $minha_view; ?>

Certo, estou começando a entender. Mais uma duvida, o fato de eu estar utilizando dois controllers afeta o resultado?

Tem um Controler que chama a view principal. Este controller e referente a validação do usuario logado no site.

E tenho um outro Controller que realiza a busca por alunos e retorna em uma segunda view. Está view é a view que deve estar dentro da view principal.

Tem problema usar dois controllers?