Joomla!
http://forum.joomla.org/

Template Assign - ItemId=1
http://forum.joomla.org/viewtopic.php?f=23&t=154560
Page 1 of 1

Author:  omarBIObr [ Tue Mar 27, 2007 4:26 pm ]
Post subject:  Template Assign - ItemId=1

Olá!

Acabo de migrar do mambo para o Joomla. Busquei info e parece que minha dúvida está relacionada à alterações no 1.0.12 e gostaria de saber se alguém pode ajudar.

Criei dois Templates: Intro e Interna, para diferenciar algund detalhes da página inicial das demais.

Deixei "Interna" como Default e dei um Assign em "Intro" no mainmenu > Inicial.

No entanto, como todos os links do FrontPage são ItemId=1, não adiantou muito, pois todos os artigos que estão na página principal se comportam como "Intro" e não como "Interna" como deveria ser.

Alguma luz?

Author:  vih [ Wed Mar 28, 2007 1:44 pm ]
Post subject:  Re: Template Assign - ItemId=1

o default sempre fica na pagina inicial, tipo coloca o contrário, coloca o default como o intro, e da um assign nos outros e coloca como interna.

qq coisa vc pode utilizar no proprio template uma estrutura q verifique se ele esta na página inicial


um exemplo seria assim


Code:
if(($id == 0)  or ($id == 21)) {

echo "conteúdo do site intro"; } else { echo "conteúdo das  internas"; }



o id igual a 21 é pq eh o numero do id q está relacionado quando pressiona o link para a página inicial, vc deve verificar qual o id na sua instalação do joomla. e o id = 0 é o padrão quando abrimos o site direto na pagina inicial.

Author:  bigodines [ Wed Mar 28, 2007 2:08 pm ]
Post subject:  Re: Template Assign - ItemId=1

essa é uma prticularidade conhecida a 1.0.12, esses dias foi postado uml ink para a correção mas eu n estou achando :/

Author:  vih [ Wed Mar 28, 2007 2:16 pm ]
Post subject:  Re: Template Assign - ItemId=1

aqui está o link... http://forum.joomla.org/index.php/topic,125365.0.html

vlw

Author:  omarBIObr [ Fri Mar 30, 2007 11:18 pm ]
Post subject:  Re: Template Assign - ItemId=1

Muito obrigado!

Optei por fazer como antes, com um IF no index.php do template, a partir da solução apresentação no post:

http://forum.joomla.org/index.php/topic ... #msg617835

O IF é assim:

Code:
<?php
if ( mosCountModules( 'banner' ) ) {
// Código da home, já que "banner" só carrega nela
} else {
// Código das páginas internas
}
?>


Agora vou atrás de uns componentes para melhorar a forma de controlar quem posta o que como colaborador.

Abraço!

Author:  fititnt [ Sat Mar 31, 2007 1:01 am ]
Post subject:  Re: Template Assign - ItemId=1

Adicionei na FAQ como [BUG:J!1.0.12] Contornar problema do ItemId ao usar multiplos templates ao mesmo tempo.

Não é a primeira vez que aparece gente relatando problemas com ItemId na 1.0.12

Author:  pchardnet [ Sat Mar 31, 2007 1:22 am ]
Post subject:  Re: Template Assign - ItemId=1

Trabalhei em dois site recentemente, um inclusive com 6 templates diferentes e nada de anormal ocorreu. Porque este "bug" ocorre somente em alguns casos?

Author:  fititnt [ Sat Mar 31, 2007 1:40 am ]
Post subject:  Re: Template Assign - ItemId=1

isso que o pchardnet tá dizendo é verdade. Não é todo mundo que é afetado por esse problema, mas alguns são, e, quando são, é complicado... daí apela para soluções como essa, e fica tudo tranquilo. Vai ver é algo relacionado com servidor ou tipo de permissão em arquivos.

[risos] Uma conhecida minha em vez vez de usar o termo BIOS diria que o problema era na pecinha na frente do cumputador [/risos]

Author:  sdouglas [ Wed Nov 14, 2007 11:27 am ]
Post subject:  Re: Template Assign - ItemId=1

Sei que o tópico já estava morto a algum tempo.


Mais não tinha ficado satisfeito com a solução, pois ia começar a ter if no meio do código e a manutenção dos templates poderia ficar um pouco confusa. E mais ainda se tiver vários templates e não apenas dois.

Optei por uma outra solução logo nas primeiras linhas do index.php. É mais maleavel quanto a manutenção.


Code:
<?php
   $option   = $_GET['option']; //Pega componente da pagina que vai ser mostrada
   $Itemid   = $_GET['Itemid']; //Pega o Itemid da pagina atual

   if ($option!='com_frontpage' && $Itemid=65) { //Se a pagina não for a com_frontpage e Itemid=65  entra no if
      $endereco = $_SERVER ['REQUEST_URI']; //Pega URL Atual
      $endereco= str_replace("&Itemid=65","",$endereco); //Retira o Itemid=65
      header("Location: $endereco"); //Envia para URL modificada
   }
?>



Bem fica ai minha contribuição e uma dica.

O código tem um bug. Você não pode enivar para Home page com apenas index.php, tem que usar o endereço completo com o nome do módulo e o Itemid. Ou seja usar o endereço colocado no primeiro item do menu.

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/