Página 1 de 2
Menu Diferente Apenas Na Home [RESOLVIDO]
Enviado: 08 Fev 2012, 17:05
por lDouglas
Fala galera Beleza (:
Entao minha duvida é a seguinte , to fazendo uma loja e gostaria que o menu ficasse diferente apenas na home , tipo eu colocaria uma função em PHP onde o o menu na home recebesse um id do meu CSS ,e no restante das paginas ele recebesse outro
no WORDPRESS seria algo como <?php is_home(); ?>
Gostaria de Algo assim
Código: Selecionar todos<?php
if ( is_home() ) {
<div id="menuhome">
/*conteudo*/
</div>
} else {
<div id="menu">
/*conteudo*/
</div>
}
?>
Alguma dica de como posso fazer isso ?
Grato desde já (:
Link da Loja
Bagatela Presentes
Re: Menu Diferente Apenas Na Home
Enviado: 08 Fev 2012, 19:39
por Manoel Vidal
Olá,
Não estou perto do meu computador agora, mas acredito que seja possível sim, pois o OpenCart tem uma variável chamada
$route que armazena a rota da página ou seja identifica em que página ele está, logo se ele consegue identificar em que página está sua idéia é totalmente possível.
Coloque no seu arquivo
header.tpl algo do tipo:
Código: Selecionar todos<?php
if ($route == "common/home") {
?>
<div id="menuhome">
/*conteudo*/
</div>
<?php
} else {
?>
<div id="menu">
/*conteudo*/
</div>
<?php
}
?>
Não sei se vai funcionar, pois não tenho como testar agora, mas esse é o caminho das pedras.
Espero ter ajudado

Re: Menu Diferente Apenas Na Home
Enviado: 08 Fev 2012, 22:19
por lDouglas
Opa cara valeu ajudou bastante sim (:
Então eu coloquei do jeito que voce falou e deu variavel indefinida , ai eu dei uma pesquisada melhor na net o seguinte codigo
e coloquei no lugar desse
E funcionou

, só nao entendi mto bem o codigo .-.
Re: Menu Diferente Apenas Na Home [RESOLVIDO]
Enviado: 09 Fev 2012, 01:15
por Renato Frota
O OpenCart trabalha com uma única chamada à index.php, e diversas classes, que carregam o conteúdo necessário em cada página.
Com as "rotas" você especifica o que quer carregar. Com a rota "common/home" você chama a home da loja. Com a rota checkout/cart, você chama o carrinho, e assim por diante.
O que o código do Vidal faz é testar se você chamou a Home ou outra página. Se for a Home, chama o div id=menuhome, do contrário (qualquer outra página), chama a div id=menu.
Re: Menu Diferente Apenas Na Home [RESOLVIDO]
Enviado: 09 Fev 2012, 10:21
por Manoel Vidal
Que bom que resolveu e valeu pela explicação Renato.

Re: Menu Diferente Apenas Na Home [RESOLVIDO]
Enviado: 09 Fev 2012, 10:31
por lDouglas
Opa galera valeu por responderem (:
Então deu certo '-' , porem só funciona quando a URL é essa
Código: Selecionar todoshttp://bagatelapresentes.com.br/index.php?route=common/home
Mas quando o usuario entra no site a url é essa
ai da erro um erro de variavel indefinida , não consegui fazer com que ele compare com as duas URls :3
Alguma dica ?
Grato desde já (:
Re: Menu Diferente Apenas Na Home
Enviado: 09 Fev 2012, 10:57
por Manoel Vidal
No caso, quando a variável estiver vazia significa que ele está na index também, tente assim:
Substitua o código:
Por:
Código: Selecionar todosif ($this->request->get['route'] == "common/home" or $this->request->get['route'] == "")
Espero ter ajudado

Re: Menu Diferente Apenas Na Home
Enviado: 09 Fev 2012, 14:12
por lDouglas
*-------------------------------------------*
funcionou perfeitamente porem apareceu
Notice: Undefined index: route in.
Isso não passa de um
warning certo ? com remover ? :#
Ja tentei alterar o php.ini
colocar a variavel $route = ""
mas nada funciona D:
Muitisssimo Obrigado

Re: Menu Diferente Apenas Na Home
Enviado: 10 Fev 2012, 00:27
por Renato Frota
Código: Selecionar todosif ($this->request->get['route'] == "common/home" or $this->request->get['route'] == "" or !isset($this->request->get['route']))
agora sim

Re: Menu Diferente Apenas Na Home
Enviado: 10 Fev 2012, 16:41
por lDouglas
Funciona Perfeitamente porem
aparece esse erro infame

, não consigo remover de
jeito algum '-'
Notice: Undefined index: route in /home/httpd/vhosts/bagatelapresentes.com.br/httpdocs/catalog/view/theme/default/template/common/header.tpl on line 115Notice: Undefined index: route in /home/httpd/vhosts/bagatelapresentes.com.br/httpdocs/catalog/view/theme/default/template/common/header.tpl on line 115
Ja tentei colocar o @ antes da das variaveis mas não consigo de jeito maneira :3