Re: [MÓDULO] Rotas URL para Páginas OpenCart. Altere suas UR
Enviado: 12 Jan 2012, 21:01
estou usando a versão 1.5.1.3, porém o plugin não funcionou, ai fiz a seguinte modificação e ficou 100%:
dentro no método ControllerCommonRoute->check() no arquivo do plugin, remova as seguintes linhas:
acontecia era o seguinte, o variável $uri ficava com o diretório, por exemplo, se a loja ficava no diretório 'loja' e acessasse exemplo.com.br/loja/pagina_inicial a $uri ficava com o valor 'site/pagina_inicial'
o método deve ficar assim:
dentro no método ControllerCommonRoute->check() no arquivo do plugin, remova as seguintes linhas:
Código: Selecionar todos
no lugar delas, insira as seguintes:
$uri = substr(str_replace(strrchr($this->request->server['REQUEST_URI'], '?'), '', $this->request->server['REQUEST_URI']),1 );
$uri = (substr($uri, -1)=='/')? $uri = substr($uri, 0, strrpos($uri, '/')) : $uri;Código: Selecionar todos
$uri = '';
if(preg_match('@^_route_=([a-z_\-/]+)$@', $this->request->server['QUERY_STRING'], $matches))
$uri = $matches[1];acontecia era o seguinte, o variável $uri ficava com o diretório, por exemplo, se a loja ficava no diretório 'loja' e acessasse exemplo.com.br/loja/pagina_inicial a $uri ficava com o valor 'site/pagina_inicial'
o método deve ficar assim:
Código: Selecionar todos
abraçospublic function check() {
$uri = '';
if(preg_match('@^_route_=([a-z_\-/]+)$@', $this->request->server['QUERY_STRING'], $matches))
$uri = $matches[1];
// Só irá retornar algo se a queryString "Route" nao estiver setada.
if((!isset($this->request->get['route'])) AND (trim($uri) <> '')){
if(array_key_exists($uri, $this->pages)){
$this->request->get['route'] = $this->pages[$uri]; // evita incompatibilidade com outros módulos que usam a QueryString "route"
return $this->forward($this->pages[$uri]);
}
}
}