Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para temas OpenCart v1.x.
#14968
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
Editado pela última vez por lDouglas em 11 Fev 2012, 15:15, em um total de 3 vezes.
#14991
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 :D
Avatar do usuário
Por lDouglas
#15009
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
Código: Selecionar todos
if ($this->request->get['route'] == 'common/home')  
e coloquei no lugar desse
Código: Selecionar todos
 if ($route == "common/home")  '-'
E funcionou :D , só nao entendi mto bem o codigo .-.
#15023
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.
#15045
Opa galera valeu por responderem (:

Então deu certo '-' , porem só funciona quando a URL é essa
Código: Selecionar todos
http://bagatelapresentes.com.br/index.php?route=common/home
Mas quando o usuario entra no site a url é essa
Código: Selecionar todos
http://bagatelapresentes.com.br
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á (:
#15050
No caso, quando a variável estiver vazia significa que ele está na index também, tente assim:

Substitua o código:
Código: Selecionar todos
if ($this->request->get['route'] == 'common/home')
Por:
Código: Selecionar todos
if ($this->request->get['route'] == "common/home" or $this->request->get['route'] == "")
Espero ter ajudado :D
Avatar do usuário
Por lDouglas
#15064
*-------------------------------------------*
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 :D
#15119
Código: Selecionar todos
if ($this->request->get['route'] == "common/home" or $this->request->get['route'] == "" or !isset($this->request->get['route']))
agora sim :mrgreen:
Avatar do usuário
Por lDouglas
#15205
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