Jump to content
Fórum Script Brasil
  • 0

Tabs de JQuery UI com PHP / Framework MVC


Ewerton M.

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...