Ir para conteúdo
Fórum Script Brasil
  • 0

Tabs de JQuery UI com PHP / Framework MVC


Ewerton M.

Pergunta

Boa tarde galera...

Posso me estender um pouco na explicação, mas acredito que a solução seja simples.

Estou desenvolvendo uma aplicação com PHP, framework MVC e ORM Doctrine. Pois bem, meu sofrimento é o seguinte. Na minha view ('home.tpl.php') eu preciso chamar cada um dos módulos, sendo cada um deles dentro de uma Tab que eu usei JQuery UI, porém, não faço a mínima idéia de como chamar essas views dentro da tab.

Segue a home.tpl.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
        <head>
                <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
                <title>Sistema Zero | Admin</title>
                <link type="text/css" href="plugin/css/custom-theme/jquery-ui-1.8.15.custom.css" rel="stylesheet" />    
                &lt;script type="text/javascript" src="plugin/js/jquery-1.6.2.min.js"></script>
                &lt;script type="text/javascript" src="plugin/js/jquery-ui-1.8.15.custom.min.js"></script>
                &lt;script type="text/javascript">
                        $(function(){

                                // Tabs
                                $('#tabs').tabs();
                                
                        });
                </script>
                <style type="text/css">
                        /*demo page css*/
                        body{ font: 62.5% "Trebuchet MS", sans-serif; margin: 50px;}
                        .demoHeaders { margin-top: 2em; }
                        #dialog_link {padding: .4em 1em .4em 20px;text-decoration: none;position: relative;}
                        #dialog_link span.ui-icon {margin: 0 5px 0 0;position: absolute;left: .2em;top: 50%;margin-top: -8px;}
                        ul#icons {margin: 0; padding: 0;}
                        ul#icons li {margin: 2px; position: relative; padding: 4px 0; cursor: pointer; float: left;  list-style: none;}
                        ul#icons span.ui-icon {float: left; margin: 0 4px;}
                </style>        
        </head>
        <body>
        <p style="font-weight: bold; margin: 2em 0 1em; font-size: 2.0em;">Sistema Zero</p>
        <hr>

        <a style="font-weight: bold; margin: 2em 0 1em; font-size: 1.3em;" href="">Logout</a>
        <hr>
                <!-- Tabs -->
                <h2 class="demoHeaders">Administração do sistema</h2>
                <div id="tabs">
                        <ul>
                                <li><a href="#tabs-1">Home</a></li>
                                <li><a href="#tabs-2">Usuários</a></li>
                                <li><a href="#tabs-3">Chat</a></li>
                                <li><a href="#tabs-4">Cobrança</a></li>
                                <li><a href="#tabs-5">CRM</a></li>
                                <li><a href="#tabs-6">Relatórios</a></li>
                        </ul>
                        
                        <div id="tabs-1">
                        </div>
                        
                        <div id="tabs-2">
                        </div>
                        
                        <div id="tabs-3">
                        </div>
                        
                        <div id="tabs-4">
                        </div>
                        
                        <div id="tabs-5">
                        </div>
                        
                        <div id="tabs-6">
                        </div>
                </div>
        </body>
</html>
Segue o AdminView.php
<?php

class AdminView{
        public function load($file, $data = null){
                include("views/admin/$file.tpl.php");
        }
}
Segue o AdminController.php
<?php

class AdminController{
        public $view;
        public $users;
        

        public function __construct(){
                $this->view = new AdminView;
                $this->users = new Users;
                
                
                if(isset($_GET['module']) && isset($_GET['action'])){
                        $module = $_GET['module'];
                        $action = $_GET['action'];
                        
                        if(isset($_GET['id'])){
                                $data = $this->$module->$action($_GET['id']);
                        }else{
                                $data = $this->$module->$action();
                        }
                        
                        $this->view->load("$module/$action", $data);
                }else{
                        $this->view->load('home');
                }
        }
}

Um detalhe importante.

Se eu chamar os arquivos pelo seu caminho, eles carregam tranquilamente. Exemplo:

http://localhost/app...ion=createUsers

Conto com a ajuda de vocês galera.

Boa tarde...

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Estou com uma dúvida parecida. Quero chamar um formulário dentro de um .dialog() via ajax. Isso eu até consegui, porém depois que eu fiz isso. o formulário deixou de funcionar quando está dentro do dialog(). Não consigo inserir. Penso que pode ser algo relacionado com o .html(data) que chama o formulario apenas como html. Mas não sei. segue o código.

O inserir funciona quando uso fora od .dialog()

Obs: Tenho uma view para inserir, porem apenas instanciando ela em url: não funciona.

function inserir()
        {
          $.ajax({
              //url: 'inserir.phtml'
              url:'<?php echo $this->url(array('controller'=>'produto','action'=>'inserir')); ?>',
              success:function(data)
              {
                  $("#inserir").dialog({
                      modal: true,
                  }).html(data); 
              }
          })
        };

Obrigado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,4k
    • Posts
      652,2k
×
×
  • Criar Novo...