Yii Framework Forum: Module + Theme + Ajax - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Module + Theme + Ajax Problemas ao carregar módulo Rate Topic: -----

#1 User is offline   Misael Pereira 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 13-March 14

Posted 16 July 2014 - 09:33 AM

Hello boys,

é o seguinte, eu criei um módulo 'admin' pelo Gii, comprei um theme para sistemas (minha intenção é criar um pequeno sistema de gestão) que funciona com ajax e é responsivo. Explico:
Ele tem header, menu lateral e footer fixo. A div do content, ou seja o miolo do tema é atualizado via ajax, funcionando da seguinte forma:

|raiz/
-- |main.php
-- |ajax/
----- |home.php
----- |about.php

Funcionando somente o tema, quando eu clico no link home, ele está assim:
localhost/ajax/home.php
,

Para que não haja um "reload" na página, existe um método no jquery que muda o link daquele para este:
localhost/#ajax/home.php
.

Desta forma, ele mascara a URL para que eu permaneça no main.php (que é a masterpage com os menus, topo e rodapé fixo) porém, novamente o jquery quebra a url, recupera o endereço após o # e "popula" a div "content".

Desta forma, sempre e somente será atualizado a div "content" do arquivo da raiz "main.php".

Descrevi o funcionamento do tema, que funciona perfeitamente. O problema está ao aplicar ele no Yii, no módulo que criei, o admin, apliquei este tema, que pega somente esta masterpage(topo,menus e rodapé).

Na view do modulo ficou assim:

|views/
-- |default/
----- | index.php
----- |ajax/
-------- |home.php
-------- |about.php


No DefaultController do módulo criei o método a seguir:
public function actionHome(){
    $this->render('ajax/home');
}


Agora que está feita a shit, porque ao acessar o link
 localhost/admin/default/home
, sem a aplicação do tema, aparece a página home perfeitamente, porém quando aplico o tema no módulo, ele muda a url para não dar refresh na página assim
 localhost/admin/#default/home
, que na teoria, deveria pegar o que está em "default/ajax/home" e jogar dentro da div "content". Só que, como a URL não é a real da aplicação, o jQuery não consegue encontrar o caminho, e então não dá nada certo. Nunca popula a div "content" do arquivo main.php do tema com o conteúdo do arquivo em default/ajax/home.php.

Alguém pode me ajudar a resolver isso?

Eu pensei em tratar o método actionIndex para renderizar o "miolo" de acordo com o que eu recuperar depois do #, mas não sei como quebrar a URL pelo Yii e recuperar por exemplo o "default/home".

Desta forma, talvez fosse possível criar um if e aplicar o render assim:
$this->render('ajax/home');

0

#2 User is offline   Misael Pereira 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 13-March 14

Posted 18 July 2014 - 08:44 AM

Ninguém?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users