[RESOLVIDO] 2 Templates no mesmo dominio.

  • Akio
  • Avatar de Akio Autor do Tópico
  • Offline
  • JCB! Estagiário
  • JCB! Estagiário
Mais
15 anos 2 meses atrás #249 por Akio
Akio replied the topic: Re: [RESOLVIDO] 2 Templates no mesmo dominio.
elvisvinicius...

Acabei encontrando o que me indicou, rs... mas e qdo o template que estou usando nao oferece esta opcao? Nao teria outra opcao alem de trocar o template?

Please Entrar ou Registrar to join the conversation.

Mais
15 anos 2 meses atrás #255 por Rickschaves
Rickschaves replied the topic: Re: [RESOLVIDO] 2 Templates no mesmo dominio.

Akio escreveu: elvisvinicius...

Acabei encontrando o que me indicou, rs... mas e qdo o template que estou usando nao oferece esta opcao? Nao teria outra opcao alem de trocar o template?

Akio, na verdade essa opção não depende da template, é uma opção nativa do Joomla, vc pode atribuir diversar templates para lugares diferentes do site, é só você entrar nas configurações da template e em Atribuição de Menu selecionar o menu que vai chamar essa template.

Também você tem outra opção, ter duas instalações do Joomla no mesmo domínio, dentro de duas pastas ou sub-domínios diferentes, é o que eu faço quando o cliente quer ter dois sites diferentes dentro do mesmo domínio. Quando entra no site ele dá a opção, A ou B, como vc disse (essa parte pode ser um flash ou um html simples) que depois de selecionado puxa o joomla A ou o B.

Mas depende do que vc quer exatamente...

Abraço,

Rick Chaves

Please Entrar ou Registrar to join the conversation.

  • Akio
  • Avatar de Akio Autor do Tópico
  • Offline
  • JCB! Estagiário
  • JCB! Estagiário
Mais
15 anos 2 meses atrás #279 por Akio
Akio replied the topic: Re: 2 Templates no mesmo dominio.
Valeu Rick,

Na verdade tava pensando nesta hipotese se daria certo, mas estava com medo de fazer e depois acabar com tudo que ja tinha feito, rs.

Vou tentar fazer as 2 instalacoes, assim dividindo A e B com templates diferentes.

abracos,

Akio

Please Entrar ou Registrar to join the conversation.

Mais
15 anos 2 meses atrás #327 por Rickschaves
Rickschaves replied the topic: Re: 2 Templates no mesmo dominio.
Isso, só cuidado na hora de criar e inserir as informações do banco de dados pra vc não confundir e detonar as duas instalações... :)

Abraço,

Rick Chaves

Please Entrar ou Registrar to join the conversation.

Mais
15 anos 2 meses atrás #334 por elvisvinicius
elvisvinicius replied the topic: Re: 2 Templates no mesmo dominio.

Akio escreveu: Valeu Rick,

Na verdade tava pensando nesta hipotese se daria certo, mas estava com medo de fazer e depois acabar com tudo que ja tinha feito, rs.

Vou tentar fazer as 2 instalacoes, assim dividindo A e B com templates diferentes.

abracos,

Akio


Amigo, tem uma forma de fazer isso.
Dê uma olhada no meu site ( http://pevermelho.com )
Cada seção tem um visual diferente (só mantenho o cabeçalho e rodapé iguais). Mas dá pra fazer visuais completamente diferentes no mesmo template e mantendo apenas 1 instalação do Joomla.

Basta um pouco PHP (super)básico e um pouco de criatividade

Para diferenciar baseado em componentes:
<?php
defined('_JEXEC') || die('Restricted access');

switch ((string) $_GET&#91;'option'&#93;)
{
    // ARTIGOS
    case "com_contents": {
        $template = "TemplateA";
        break;
    }
    // FORUM
    case "com_fireboard": {
        $template = "TemplateA";
        break;
    }
    // COMUNIDADE
    case "com_comprofiler {
        $template = "TemplateB";
        break;
    }
}

// INCLUIR INDEX DO TEMPLATE
if ( $template == "TemplateA")
{
    include("index_template_a.php");
}
elseif ( $template == "TemplateB")
{
    include("index_template_b.php");
}

?>
Traduzindo: O SWITCH pega o valor de $option que diz ao Joomla qual o componente exibir e atribuir um valor (no caso, o nome do template) à variável $template.

Depois o IF usa a função include() para carregar o index do template escolhido.

O IF e ELSEIF significam basicamente:
SE $template FOR IGUAL a "TemplateA", 
    INCLUIR ARQUIVO "index_template_a.php"
SENÃO, SE $template FOR IGUAL a "TemplateA", 
    INCLUIR ARQUIVO "index_template_b.php"

Para diferenciar por artigos, basta definir o critério e alterar o primeiro CASE do SWITCH:
<?php
// ... primeira parte do código

    // ARTIGOS
    case "com_contents": {
        // SWITCH interno, para definir novos critérios:
        switch ((int) $_GET(Itemid''))
        {
            case 20: {
                $template = "TemplateB";
            }
            case 26: {
                $template = "TemplateB";
            }
            case 32: {
                $template = "TemplateA";
            }
            // DEFAULT determina qual o valor padrão caso não exista
            // nenhuma das opções anteriores 
            default: {
                $template = "TemplateA";
            }
        }
        break;
    }

// ... última parte do código
?>

Este foi baseado no Itemid, que é um ID único que o Joomla atribui a cada item de menu.
Assim, cada blog, lista de categorias ou qualquer componente, pode ter um visual diferente.


Para concluir, os index_template_XXX.php devem ser os index.php normais, que conterão cada um seu próprio layout, posições de módulos e códigos CSS ou Javascript.
Você pode também dessa forma carregar CSS ou Javascript específico para cada template, incluindo no início do index de cada um deles o seguinte código:
<?php
defined('_JEXEC') || die('Restricted access');

$jdoc =& JFactory::getDocument();
$jdoc->addStyleSheet( "templates/NomeDoTemplate/css/template_a.css' );
$jdoc->addScript(templates/NomeDoTemplate/css/script.js" );

// ...codigo do template...

//
// ...
//

?>

Qualquer dúvida, tamos ae.

PS: Nem queira ver meu index.php. É bem mais complexo que esse exemplo. ( ++)

( ^^)

Please Entrar ou Registrar to join the conversation.