Yii Framework Forum: Temas no Yii - Yii Framework Forum

Jump to content

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

Temas no Yii Rate Topic: -----

#1 User is offline   Jan Mendes 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 7
  • Joined: 22-July 09
  • Location:Brazil

Posted 18 November 2009 - 08:28 AM

Bom dia a todos, estou aqui customizando o Yii, para as minhas necessidades...

hehehehe :rolleyes:

Mas estou com muitas dificuldades em fazer funcionar o tema que crei.

Configurei ele no config/mais.php :

- 'theme'=>'nome_do_tema'

mas no controller que estou chamando a página para ser renderizada, não funciona o tema

Como posso fazer ele funcionar?

Houve alguma configuração que esqueci?
0

#2 User is offline   ricardograna 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 376
  • Joined: 31-March 09
  • Location:Manaus/AM - Brazil

Posted 18 November 2009 - 11:33 AM

utilize 'layout' ao invés de 'theme'.
Yes, It Is!
0

#3 User is offline   Jan Mendes 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 7
  • Joined: 22-July 09
  • Location:Brazil

Posted 18 November 2009 - 03:11 PM

Depois de muita luta aqui consegui usar o tema.

Vou tentar também com o 'layout'.

Obrigado!
0

#4 User is offline   Armando 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 80
  • Joined: 11-November 08
  • Location:Brazil - Rio de Janeiro

Posted 19 November 2009 - 09:49 AM

Jan Mendes, estou fazendo da seguinte maneira pra mudar o tema do sistema:

Meu "SiteController" extende "BaseController" que extende "CController". Então em "BaseController" foi adicionado as seguintes funções:
<?php
class BaseController extends CController 
{
   /**
     * Utilizado para definir o tema baseado na escolha do usuário
     * @param <type> $id
     * @param <type> $module
     */
    public function __construct($id,$module=null) {
        parent::__construct($id,$module);

        # Definicao do tema
        $session = Yii::app()->session;
        if (isset($session['tema'])) Yii::app()->setTheme($session['tema']);
    }


   /**
     * Muda o tema do sistema
     */
    public function actionChangeTheme() {
        if ($_GET['tema'] != "") {
            $_SESSION['tema'] = $_GET['tema'];
            $this->redirect(Yii::app()->getRequest()->urlReferrer);
        }
    }
}


Em nosso layout principal "view/layouts/main.php" foi adicionado:

Os links para os estilos dentro da tag <header></header>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->theme->baseUrl; ?>/css/form.css" />
<link rel="stylesheet" media="screen" type="text/css" href="<?php echo Yii::app()->theme->baseUrl; ?>/css/main.css" />


e os links que ativam os temas "classic e modern"
Tema: 
<?php if (Yii::app()->theme->getName() == 'classic'): ?>
   <a class="" href="index.php?r=site/changeTheme&amp;tema=modern">Modern</a>
<?php elseif (Yii::app()->theme->getName() == 'modern'): ?>
   <a class="" href="index.php?r=site/changeTheme&amp;tema=classic">Classic</a>
<?php endif; ?>


Já na estrutura de pastas eu tenho "assets", "protected", "themes" bla bla ;) Sacou?
Isto quer dizer que meus temas estão fora de "protected" e dentro de "themes" eu tenho as pastas "classic" e "modern" e que ambas contém as pastas "css e images".

Veja o exemplo:
themes
  |-classic
      |-css
         |-form.css
         |-main.css
      |-images
  |-modern
      |-css
         |-form.css
         |-main.css
      |-images


Espero que isto ajude a galera. Abs!
0

#5 User is offline   davi_alexandre 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 113
  • Joined: 08-July 09
  • Location:Guarulhos - São Paulo

Posted 19 November 2009 - 09:01 PM

View Postricardograna, on 18 November 2009 - 11:33 AM, said:

utilize 'layout' ao invés de 'theme'.


O layout não muda o tema, muda apenas o... layout!

Um tema pode conter vários layouts.
0

#6 User is offline   davi_alexandre 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 113
  • Joined: 08-July 09
  • Location:Guarulhos - São Paulo

Posted 19 November 2009 - 09:02 PM

View PostJan Mendes, on 18 November 2009 - 03:11 PM, said:

Depois de muita luta aqui consegui usar o tema.

Vou tentar também com o 'layout'.

Obrigado!


Fala ai o que você fez para resolver, de repente sua solução pode ser útil para mais alguém =D
0

#7 User is offline   Jan Mendes 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 7
  • Joined: 22-July 09
  • Location:Brazil

Posted 23 November 2009 - 03:02 PM

Cara minha falha foi de não montar a mesma arquitetura que o tema tem que usar

- assets
- css
- images
- protected
- themes
---- classic
---- novoTema
--------- views a serem criadas.


Muito obrigado a todos.
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