The Joomla! Forum ™






Post new topic Reply to topic  [ 16 posts ] 
Author Message
PostPosted: Thu Sep 24, 2009 7:19 pm 
Joomla! Intern
Joomla! Intern

Joined: Mon Sep 21, 2009 7:32 pm
Posts: 81
Galera,

gostaria de saber se existe algum teste com php pra saber qual a pagina ativa....
Preciso fazer com que uma parte do layout que eu fiz apareça somente na homepage, e queria saber alguma rotina em php para testar se a pagina atual é a home.

Se alguem puder me ajudar eu agradeceria muito :D

titulo editado para facilitar pesquisas

_________________
Pedro Campiteli
Joomla! ...sofrendo e aprendendo...
Carpe Diem!


Last edited by campiteli1 on Thu Sep 24, 2009 8:46 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Thu Sep 24, 2009 8:24 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2346
Location: Porto Alegre - RS - Brazil
Code:
<?php
$menu = & JSite::getMenu();
if ($menu->getActive() == $menu->getDefault()) {
        echo 'This is the front page';
}
?>

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page


bem que voce poderia editar colocar um titulo mais amigavel como 'Condicional para determinar se o componente é o frontend'. Isso ajuda pesquisas ;>

_________________
Emerson da Rocha Luiz
Moderador do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Thu Sep 24, 2009 8:48 pm 
Joomla! Intern
Joomla! Intern

Joined: Mon Sep 21, 2009 7:32 pm
Posts: 81
Valeu a ajuda cara.

Editei o nome do tópico, realmente vc tem razão....desculpa a "pisada na bola" ;)

Procurei bastante e encontrei também um outro teste que determina qnd vc está na página home, que estou postando pra ajudar o proximo com o mesmo problema
:D

Code:
<?php
$uri = $_SERVER['REQUEST_URI'];
if ($uri == "/") {
      echo "You're on the homepage";
} else {
     echo "You're on an internal page";
}
?>


Valeu...

_________________
Pedro Campiteli
Joomla! ...sofrendo e aprendendo...
Carpe Diem!


Top
 Profile  
 
PostPosted: Thu Sep 24, 2009 9:14 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2346
Location: Porto Alegre - RS - Brazil
Que nada, so dei uma dica de como fazer titulos melhores. Sempre ajudam a ter resposta mais rapida e a facilitar a vida do google.

O seu jeito de resolver também funciona para qualquer site e não só joomla. mas eu nao me lembro se ele vai acular que esta numa pagina interna se estiver em site.com.br/index.html, que ainda assim seria o frontend.

_________________
Emerson da Rocha Luiz
Moderador do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Fri Sep 25, 2009 5:08 am 
User avatar
Joomla! Explorer
Joomla! Explorer

Joined: Wed Jan 30, 2008 12:05 am
Posts: 255
Olá,

E para links quaisquer, como ficaria? Se a url é "tal" então o módulo não aparece.

Obrigado.

[]s

_________________
http://www.marcoscanova.com.br


Top
 Profile  
 
PostPosted: Wed Sep 30, 2009 11:06 pm 
User avatar
Joomla! Guru
Joomla! Guru

Joined: Wed Apr 15, 2009 5:33 pm
Posts: 725
Location: Fortaleza, CE - Brasil
O Joomla! permite por padrão que você defina a quais itens de menu os seus módulos estão associados, o que com certeza já atende às necessidades da maioria. Contudo, em casos especiais, você pode fazer assim:
Code:
// Isso é só um exemplo
$paginaAtual = JURI::current();
if( $paginaAtual == 'link/da/pagina/de/noticias.html' ){
   // Chame o jdoc include da posição dos módulos de notícias
}
elseif( $paginaAtual == 'link/da/pagina/de/outra-coisa.html' ){
   // Chame o jdoc include da posição dos módulos de uma outra coisa
}
else{
   // E assim vai...
}
Você pode utilizar verificações desse tipo para criar ou não determinadas posições na index.php do TEMPLATE. Aí, basta associar os módulos que você quiser a estas POSIÇÕES. Isso deve ser o suficiente pra atender às necessidades de todos.

_________________
.
Nailson Oliveira
Técnico de Tecnologia da Informação - Desenvolvedor Joomla!
-----------------------------------------------------------------------------------------


Top
 Profile  
 
PostPosted: Thu Oct 01, 2009 4:28 am 
Joomla! Apprentice
Joomla! Apprentice

Joined: Thu Nov 13, 2008 9:23 pm
Posts: 23
Bem, se você quer apresentar algum código, módulo, etc apenas na home você pode fazer o seguinte teste:

if( JRequest::getCmd( 'view' ) == "frontpage" ){
/*
* Escreva aqui o código que irá aparecer na home
*/
}

Esse teste deve ser feito na index do template.


Top
 Profile  
 
PostPosted: Thu Oct 01, 2009 10:49 am 
User avatar
Joomla! Virtuoso
Joomla! Virtuoso

Joined: Thu Aug 18, 2005 12:39 pm
Posts: 4023
Location: São Paulo - Brazil
Vejam se isso ajuda:
http://docs.joomla.org/How_to_determine ... front_page

ps: dica do julio (joomila)

_________________
http://www.ronildo.com.br/blog/ pt-br | twitter: twitter.com/ronildo
http://forum.joomla.org/viewtopic.php?f=23&t=144443 - FAQ Joomla [pt]
Pessoal por favor não tiro dúvidas por e-mail nem mensagem privada, por favor não insistam.


Top
 Profile  
 
PostPosted: Thu Oct 01, 2009 3:22 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2346
Location: Porto Alegre - RS - Brazil
A sugestão do mamura é a com menos linhas de código de todas. Interessante certamente


Ela so erraria se tivesse algum componente que tivesse uma view com nome frontpage, mas seria um erro muito especifico.


A sugetão do nailson_imgn se me lembro diteiro, faz diferenciação conforme a url e se pode ter mais de uma URL ( URL com e sem SEF) e poderia ser um problema.

_________________
Emerson da Rocha Luiz
Moderador do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Thu Oct 01, 2009 3:47 pm 
User avatar
Joomla! Guru
Joomla! Guru

Joined: Wed Apr 15, 2009 5:33 pm
Posts: 725
Location: Fortaleza, CE - Brasil
marcoscanova wrote:
Olá,

E para links quaisquer, como ficaria? Se a url é "tal" então o módulo não aparece.

Obrigado.

[]s
O exemplo que eu dei é para caso como o da pergunta acima, em que a pessoa já sabe a quais módulos só devem aparecer em quais links. Não levei em consideração a diferença entre o SEF, mas basta fazer as comparações de $paginaAtual e JRoute::_( 'link/especifico/que/voce/ja_sabe' ) e tudo continua funcionando perfeitamente. Mas lógico, esta solução é para o caso citado acima e não para identificar se a página atual é a home, apesar de que também funciona para a home.

_________________
.
Nailson Oliveira
Técnico de Tecnologia da Informação - Desenvolvedor Joomla!
-----------------------------------------------------------------------------------------


Top
 Profile  
 
PostPosted: Thu Oct 01, 2009 5:51 pm 
User avatar
Joomla! Explorer
Joomla! Explorer

Joined: Wed Jan 30, 2008 12:05 am
Posts: 255
Olá,

Como o caso era não exibir certos módulos (banner, menu subcategorias, etc) em certas url´s do VirtueMart que não convinham (checkout, carrinho, manutenção de conta, etc), usei esta solução:

Code:
if ((JRequest::getVar('page') != 'shop.browse')) {
} else { ?>
    <jdoc:include... />
<?php } ?>


Abraços e obrigado pela resposta.


nailson_imgn wrote:
marcoscanova wrote:
Olá,

E para links quaisquer, como ficaria? Se a url é "tal" então o módulo não aparece.

Obrigado.

[]s
O exemplo que eu dei é para caso como o da pergunta acima, em que a pessoa já sabe a quais módulos só devem aparecer em quais links. Não levei em consideração a diferença entre o SEF, mas basta fazer as comparações de $paginaAtual e JRoute::_( 'link/especifico/que/voce/ja_sabe' ) e tudo continua funcionando perfeitamente. Mas lógico, esta solução é para o caso citado acima e não para identificar se a página atual é a home, apesar de que também funciona para a home.

_________________
http://www.marcoscanova.com.br


Top
 Profile  
 
PostPosted: Fri Dec 04, 2009 6:00 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2346
Location: Porto Alegre - RS - Brazil
@nailson_imgn.

Te citei em http://www.fititnt.org/codigo/joomla/if.html#determinar-se-e-pagina-especifica

_________________
Emerson da Rocha Luiz
Moderador do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Fri Dec 04, 2009 6:12 pm 
User avatar
Joomla! Explorer
Joomla! Explorer

Joined: Wed Jan 30, 2008 12:05 am
Posts: 255
Olá,

Ótimo artigo fititnt, já está nos favoritos, parabéns! Roubou minha idéia para um artigo, mas tudo bem. :D

[]s

_________________
http://www.marcoscanova.com.br


Top
 Profile  
 
PostPosted: Fri Dec 04, 2009 6:49 pm 
User avatar
Joomla! Hero
Joomla! Hero

Joined: Sat Jul 15, 2006 1:41 am
Posts: 2346
Location: Porto Alegre - RS - Brazil
humm, nem sabia que você estava querendo escrever algo desse tipo. Eu tava a tempos por juntar esses códigos e só empurrando até que um dia juntei tudo.

_________________
Emerson da Rocha Luiz
Moderador do Fórum | Membro do JUGRS
Screencasts e tutoriais do básico ao avançado sobre Joomla! http://www.fititnt.org/joomla.html
Consultoria e treinamento avançado http://alligo.com.br


Top
 Profile  
 
PostPosted: Fri Dec 04, 2009 6:59 pm 
User avatar
Joomla! Guru
Joomla! Guru

Joined: Wed Apr 15, 2009 5:33 pm
Posts: 725
Location: Fortaleza, CE - Brasil
marcoscanova wrote:
Olá,

Ótimo artigo fititnt, já está nos favoritos, parabéns! Roubou minha idéia para um artigo, mas tudo bem. :D

[]s
Valeu pelo reconhecimento @fitnit

Nota: seu tutorial agrega algumas coisas interessantes, mas você deveria fazer uma revisão mais detalhada dele. Tem algumas falhas que você deixou passar:

"Determinar se é um usuário específico": os comentários indicam que o condicional revela o tipo de usuário ao invés de um usuário específico

"Determinar se é uma página especifica (Itemid)" está longe de ensinar o que o título sugere. A variável Itemid se refere ao id do item de menu que está atualmente selecionado. Como componentes podem ser executados sem a necessidade de um menu, a chamada pode resultar em 0 e isso não indica nem de longe em qual página se está.
Além disso, o comentário desse trecho diz "Esta página é especifica do artigo de ID 27" o que não tem nenhuma obrigação de ser, uma vez que você pode escolher qualquer artigo para ser exibido em um dado menu( não há relação direta "id_menu <==> id_artigo" ).

Corrigindo isso, acho que fica tudo OK. Você já pensou em adicionar esse tipo de tutorial à wiki?
http://docs.joomla.org/Category:Tips_and_tricks_1.5

Boa sorte

Nota[2]: @marcoscanova se há interesse mútuo em publicar tutoriais similares talvez fosse interessante mantê-los na wiki oficial onde todos podem colaborar, não acha?

_________________
.
Nailson Oliveira
Técnico de Tecnologia da Informação - Desenvolvedor Joomla!
-----------------------------------------------------------------------------------------


Top
 Profile  
 
PostPosted: Sat Dec 05, 2009 1:38 pm 
User avatar
Joomla! Explorer
Joomla! Explorer

Joined: Wed Jan 30, 2008 12:05 am
Posts: 255
Olá,

Estava apenas brincando fititnt e sim nailson_imgn, é uma ótima dica.

[]s

_________________
http://www.marcoscanova.com.br


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ] 



Who is online

Users browsing this forum: hitomi_designer and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group