Fórum OpenCart Brasil

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

Avatar do usuário
Por rogerio.dobler
#44698
Ola pessoal da Comunidade OCBr

Estou aqui para compartilhar um simples vqmod que montei...

Vqmod - URLs Amigaveis

Compativel com: v1.5.4, v1.5.4.1, v1.5.5, v1.5.5.1, v1.5.6 OC

Função: Atribiu urls amigaveis para todas as paginas da loja, paginas de compra, conta de cliente, afiliados e tudo mais.
Código: Selecionar todos
<modification>

   <id>URLs Amigas</id>
   <version>1.0.0</version>
   <vqmver>2.1.5</vqmver>
   <author>rogerio.dobler</author>
   
   <file name="catalog/controller/common/seo_url.php">
      <operation>
         <search position="before"><![CDATA[elseif (isset($this->request->get['path']))]]></search>
         <add><![CDATA[

         } elseif ($this->request->get['_route_'] ==  'conta/lista-de-desejos') { $this->request->get['route'] =  'account/wishlist';
         } elseif ($this->request->get['_route_'] ==  'conta') { $this->request->get['route'] =  'account/account';
         } elseif ($this->request->get['_route_'] ==  'conta/editar') { $this->request->get['route'] =  'account/edit';
         } elseif ($this->request->get['_route_'] ==  'conta/senha') { $this->request->get['route'] =  'account/password';
         } elseif ($this->request->get['_route_'] ==  'conta/endereco') { $this->request->get['route'] =  'account/address';
         } elseif ($this->request->get['_route_'] ==  'conta/endereco/novo') { $this->request->get['route'] =  'account/address/insert';      
         } elseif ($this->request->get['_route_'] ==  'conta/pontos') { $this->request->get['route'] =  'account/reward';
         } elseif ($this->request->get['_route_'] ==  'conta/acessar') { $this->request->get['route'] =  'account/login';
         } elseif ($this->request->get['_route_'] ==  'conta/sair') { $this->request->get['route'] =  'account/logout';         
         } elseif ($this->request->get['_route_'] ==  'conta/informativo') { $this->request->get['route'] =  'account/newsletter';
         } elseif ($this->request->get['_route_'] ==  'conta/recuperar-senha') { $this->request->get['route'] =  'account/forgotten';
         } elseif ($this->request->get['_route_'] ==  'conta/download') { $this->request->get['route'] =  'account/download';
         } elseif ($this->request->get['_route_'] ==  'conta/devolucoes') { $this->request->get['route'] =  'account/return';
         } elseif ($this->request->get['_route_'] ==  'conta/transacoes') { $this->request->get['route'] =  'account/transaction';
         } elseif ($this->request->get['_route_'] ==  'conta/registrar') { $this->request->get['route'] =  'account/register';
         } elseif ($this->request->get['_route_'] ==  'conta/devolucoes/registrar') { $this->request->get['route'] =  'account/return/insert';
         } elseif ($this->request->get['_route_'] ==  'conta/vale-presente') { $this->request->get['route'] =  'account/voucher';
         } elseif ($this->request->get['_route_'] ==  'afiliados') { $this->request->get['route'] =  'affiliate/account';
         } elseif ($this->request->get['_route_'] ==  'afiliados/editar') { $this->request->get['route'] =  'affiliate/edit';
         } elseif ($this->request->get['_route_'] ==  'afiliados/senha') { $this->request->get['route'] =  'affiliate/password';
         } elseif ($this->request->get['_route_'] ==  'afiliados/pagamento') { $this->request->get['route'] =  'affiliate/payment';
         } elseif ($this->request->get['_route_'] ==  'afiliados/codigo') { $this->request->get['route'] =  'affiliate/tracking';
         } elseif ($this->request->get['_route_'] ==  'afiliados/transacoes') { $this->request->get['route'] =  'affiliate/transaction';
         } elseif ($this->request->get['_route_'] ==  'afiliados/sair') { $this->request->get['route'] =  'affiliate/logout';
         } elseif ($this->request->get['_route_'] ==  'afiliados/recuperar-senha') { $this->request->get['route'] =  'affiliate/forgotten';
         } elseif ($this->request->get['_route_'] ==  'afiliados/registrar') { $this->request->get['route'] =  'affiliate/register';
         } elseif ($this->request->get['_route_'] ==  'afiliados/acessar') { $this->request->get['route'] =  'affiliate/login';
         } elseif ($this->request->get['_route_'] ==  'carrinho') { $this->request->get['route'] =  'checkout/cart';
         } elseif ($this->request->get['_route_'] ==  'compra/finalizar') { $this->request->get['route'] =  'checkout/checkout';
         } elseif ($this->request->get['_route_'] ==  'compra/finalizada') { $this->request->get['route'] =  'checkout/success';
         } elseif ($this->request->get['_route_'] ==  'vale-presentes') { $this->request->get['route'] =  'checkout/voucher';
         } elseif ($this->request->get['_route_'] ==  'fale-conosco') { $this->request->get['route'] =  'information/contact';
         } elseif ($this->request->get['_route_'] ==  'mapa-da-loja') { $this->request->get['route'] =  'information/sitemap';
         } elseif ($this->request->get['_route_'] ==  'promocoes') { $this->request->get['route'] =  'product/special';
         } elseif ($this->request->get['_route_'] ==  'fabricantes') { $this->request->get['route'] =  'product/manufacturer';
         } elseif ($this->request->get['_route_'] ==  'lista-de-comparacao') { $this->request->get['route'] =  'product/compare';
         
         ]]></add>
      </operation>
      <operation>
         <search position="before"><![CDATA[$key == 'path']]></search>
         <add><![CDATA[
         } elseif (isset($data['route']) && $data['route'] ==   'common/home') { $url .=  '/';
         } elseif (isset($data['route']) && $data['route'] ==   'account/wishlist' && $key != 'remove') { $url .=  '/conta/lista-de-desejos';
         } elseif (isset($data['route']) && $data['route'] ==   'account/account') { $url .=  '/conta';
         } elseif (isset($data['route']) && $data['route'] ==   'account/edit') { $url .=  '/conta/editar';
         } elseif (isset($data['route']) && $data['route'] ==   'account/password') { $url .=  '/conta/senha';
         } elseif (isset($data['route']) && $data['route'] ==   'account/address') { $url .=  '/conta/endereco';
         } elseif (isset($data['route']) && $data['route'] ==   'account/address/insert') { $url .=  '/conta/endereco/novo';         
         } elseif (isset($data['route']) && $data['route'] ==   'account/reward') { $url .=  '/conta/pontos';
         } elseif (isset($data['route']) && $data['route'] ==   'account/login') { $url .=  '/conta/acessar';
         } elseif (isset($data['route']) && $data['route'] ==   'account/logout') { $url .=  '/conta/sair';      
         } elseif (isset($data['route']) && $data['route'] ==   'account/newsletter') { $url .=  '/conta/informativo';
         } elseif (isset($data['route']) && $data['route'] ==   'account/forgotten') { $url .=  '/conta/recuperar-senha';
         } elseif (isset($data['route']) && $data['route'] ==   'account/download') { $url .=  '/conta/download';
         } elseif (isset($data['route']) && $data['route'] ==   'account/return') { $url .=  '/conta/devolucoes';
         } elseif (isset($data['route']) && $data['route'] ==   'account/transaction') { $url .=  '/conta/transacoes';
         } elseif (isset($data['route']) && $data['route'] ==   'account/simpleregister') { $url .=  '/conta/registrar';
         } elseif (isset($data['route']) && $data['route'] ==   'account/return/insert') { $url .=  '/conta/devolucoes/registrar';
         } elseif (isset($data['route']) && $data['route'] ==   'account/voucher') { $url .=  '/conta/vale-presente';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/account') { $url .=  '/afiliados';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/edit') { $url .=  '/afiliados/editar';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/password') { $url .=  '/afiliados/senha';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/payment') { $url .=  '/afiliados/pagamento';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/tracking') { $url .=  '/afiliados/codigo';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/transaction') { $url .=  '/afiliados/transacoes';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/logout') { $url .=  '/afiliados/sair';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/forgotten') { $url .=  '/afiliados/recuperar-senha';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/register') { $url .=  '/afiliados/registrar';
         } elseif (isset($data['route']) && $data['route'] ==   'affiliate/login') { $url .=  '/afiliados/acessar';
         } elseif (isset($data['route']) && $data['route'] ==   'checkout/cart' && $key != 'remove') { $url .=  '/carrinho';
         } elseif (isset($data['route']) && $data['route'] ==   'checkout/checkout') { $url .=  '/compra/finalizar';
         } elseif (isset($data['route']) && $data['route'] ==   'checkout/success') { $url .=  '/compra/finalizada';         
         } elseif (isset($data['route']) && $data['route'] ==   'checkout/voucher') { $url .=  '/vale-presentes';
         } elseif (isset($data['route']) && $data['route'] ==   'information/contact') { $url .=  '/fale-conosco';
         } elseif (isset($data['route']) && $data['route'] ==   'information/sitemap') { $url .=  '/mapa-da-loja';
         } elseif (isset($data['route']) && $data['route'] ==   'product/special' && $key != 'page' && $key != 'sort' && $key != 'limit' && $key != 'order') { $url .=  '/promocoes';
         } elseif (isset($data['route']) && $data['route'] ==   'product/manufacturer') { $url .=  '/fabricantes';
         } elseif (isset($data['route']) && $data['route'] ==   'product/compare') { $url .=  '/lista-de-comparacao';
         
         ]]></add>
      </operation>
   </file>
   
</modification>
Espero que seja util a vocês.
Editado pela última vez por rogerio.dobler em 10 Nov 2013, 18:54, em um total de 1 vez.
Por linktraba
Mensagens
#45658
Muito bom o módulo, obrigado por disponibilizá-lo, em algumas página não funciona.Exemplo: "Phones & PDAs", "Máquinas fotográficas", "Laptops & Notebooks". Achei que tivesse algo a ver com a quantidade de palavras, no caso duas ou mais, porém, a categoria "MP3 Players" funciona normalmente.
Avatar do usuário
Por rogerio.dobler
#45659
linktraba escreveu:Muito bom o módulo, obrigado por disponibilizá-lo, em algumas página não funciona.Exemplo: "Phones & PDAs", "Máquinas fotográficas", "Laptops & Notebooks". Achei que tivesse algo a ver com a quantidade de palavras, no caso duas ou mais, porém, a categoria "MP3 Players" funciona normalmente.
Este vqmod é apenas para as paginas padrão do OC, ex: minha conta, fale conosco, entre outras...

Ja para categorias, vc não vai utilizar este vqmod...

Para utilizar Urls amigaves nas categorias e produtos va em:

Sistema > Configurações > Sua Loja > Servidor > Utilizar URL Amigável=Sim e clique em salvar...

e quando for criar categorias e produtos deve inserir as urls amigaveis...
Por linktraba
Mensagens
#45723
Agradeço por responder, retirei a URL amigável referente ao "Carrinho de Compras", ao excluir algum produto, em vez de redirecionar novamente para o carrinho, ia para "página não encontrada".
Avatar do usuário
Por rogerio.dobler
#45889
linktraba escreveu:Agradeço por responder, retirei a URL amigável referente ao "Carrinho de Compras", ao excluir algum produto, em vez de redirecionar novamente para o carrinho, ia para "página não encontrada".
Boa Tarde,

Na verdade existia mesmo este erro na lista de desejos e no carrinho de compras, mais eu ja faz a correção segue o código completo corrigido abaixo abaixo:

Código: Selecionar todos
<modification>

	<id>URLs Amigas</id>
	<version>1.0.0</version>
	<vqmver>2.1.5</vqmver>
	<author>rogerio.dobler</author>
	
	<file name="catalog/controller/common/seo_url.php">
		<operation>
			<search position="before"><![CDATA[elseif (isset($this->request->get['path']))]]></search>
			<add><![CDATA[

			} elseif ($this->request->get['_route_'] ==  'conta/lista-de-desejos') { $this->request->get['route'] =  'account/wishlist';
			} elseif ($this->request->get['_route_'] ==  'conta') { $this->request->get['route'] =  'account/account';
			} elseif ($this->request->get['_route_'] ==  'conta/editar') { $this->request->get['route'] =  'account/edit';
			} elseif ($this->request->get['_route_'] ==  'conta/senha') { $this->request->get['route'] =  'account/password';
			} elseif ($this->request->get['_route_'] ==  'conta/endereco') { $this->request->get['route'] =  'account/address';
			} elseif ($this->request->get['_route_'] ==  'conta/endereco/novo') { $this->request->get['route'] =  'account/address/insert';		
			} elseif ($this->request->get['_route_'] ==  'conta/pontos') { $this->request->get['route'] =  'account/reward';
			} elseif ($this->request->get['_route_'] ==  'conta/acessar') { $this->request->get['route'] =  'account/login';
			} elseif ($this->request->get['_route_'] ==  'conta/sair') { $this->request->get['route'] =  'account/logout';			
			} elseif ($this->request->get['_route_'] ==  'conta/informativo') { $this->request->get['route'] =  'account/newsletter';
			} elseif ($this->request->get['_route_'] ==  'conta/recuperar-senha') { $this->request->get['route'] =  'account/forgotten';
			} elseif ($this->request->get['_route_'] ==  'conta/download') { $this->request->get['route'] =  'account/download';
			} elseif ($this->request->get['_route_'] ==  'conta/devolucoes') { $this->request->get['route'] =  'account/return';
			} elseif ($this->request->get['_route_'] ==  'conta/transacoes') { $this->request->get['route'] =  'account/transaction';
			} elseif ($this->request->get['_route_'] ==  'conta/registrar') { $this->request->get['route'] =  'account/register';
			} elseif ($this->request->get['_route_'] ==  'conta/devolucoes/registrar') { $this->request->get['route'] =  'account/return/insert';
			} elseif ($this->request->get['_route_'] ==  'conta/vale-presente') { $this->request->get['route'] =  'account/voucher';
			} elseif ($this->request->get['_route_'] ==  'afiliados') { $this->request->get['route'] =  'affiliate/account';
			} elseif ($this->request->get['_route_'] ==  'afiliados/editar') { $this->request->get['route'] =  'affiliate/edit';
			} elseif ($this->request->get['_route_'] ==  'afiliados/senha') { $this->request->get['route'] =  'affiliate/password';
			} elseif ($this->request->get['_route_'] ==  'afiliados/pagamento') { $this->request->get['route'] =  'affiliate/payment';
			} elseif ($this->request->get['_route_'] ==  'afiliados/codigo') { $this->request->get['route'] =  'affiliate/tracking';
			} elseif ($this->request->get['_route_'] ==  'afiliados/transacoes') { $this->request->get['route'] =  'affiliate/transaction';
			} elseif ($this->request->get['_route_'] ==  'afiliados/sair') { $this->request->get['route'] =  'affiliate/logout';
			} elseif ($this->request->get['_route_'] ==  'afiliados/recuperar-senha') { $this->request->get['route'] =  'affiliate/forgotten';
			} elseif ($this->request->get['_route_'] ==  'afiliados/registrar') { $this->request->get['route'] =  'affiliate/register';
			} elseif ($this->request->get['_route_'] ==  'afiliados/acessar') { $this->request->get['route'] =  'affiliate/login';
			} elseif ($this->request->get['_route_'] ==  'carrinho') { $this->request->get['route'] =  'checkout/cart';
			} elseif ($this->request->get['_route_'] ==  'compra/finalizar') { $this->request->get['route'] =  'checkout/checkout';
			} elseif ($this->request->get['_route_'] ==  'compra/finalizada') { $this->request->get['route'] =  'checkout/success';
			} elseif ($this->request->get['_route_'] ==  'vale-presentes') { $this->request->get['route'] =  'checkout/voucher';
			} elseif ($this->request->get['_route_'] ==  'fale-conosco') { $this->request->get['route'] =  'information/contact';
			} elseif ($this->request->get['_route_'] ==  'mapa-da-loja') { $this->request->get['route'] =  'information/sitemap';
			} elseif ($this->request->get['_route_'] ==  'promocoes') { $this->request->get['route'] =  'product/special';
			} elseif ($this->request->get['_route_'] ==  'fabricantes') { $this->request->get['route'] =  'product/manufacturer';
			} elseif ($this->request->get['_route_'] ==  'lista-de-comparacao') { $this->request->get['route'] =  'product/compare';
			
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[$key == 'path']]></search>
			<add><![CDATA[
			} elseif (isset($data['route']) && $data['route'] ==   'common/home') { $url .=  '/';
			} elseif (isset($data['route']) && $data['route'] ==   'account/wishlist' && $key != 'remove') { $url .=  '/conta/lista-de-desejos';
			} elseif (isset($data['route']) && $data['route'] ==   'account/account') { $url .=  '/conta';
			} elseif (isset($data['route']) && $data['route'] ==   'account/edit') { $url .=  '/conta/editar';
			} elseif (isset($data['route']) && $data['route'] ==   'account/password') { $url .=  '/conta/senha';
			} elseif (isset($data['route']) && $data['route'] ==   'account/address') { $url .=  '/conta/endereco';
			} elseif (isset($data['route']) && $data['route'] ==   'account/address/insert') { $url .=  '/conta/endereco/novo';			
			} elseif (isset($data['route']) && $data['route'] ==   'account/reward') { $url .=  '/conta/pontos';
			} elseif (isset($data['route']) && $data['route'] ==   'account/login') { $url .=  '/conta/acessar';
			} elseif (isset($data['route']) && $data['route'] ==   'account/logout') { $url .=  '/conta/sair';		
			} elseif (isset($data['route']) && $data['route'] ==   'account/newsletter') { $url .=  '/conta/informativo';
			} elseif (isset($data['route']) && $data['route'] ==   'account/forgotten') { $url .=  '/conta/recuperar-senha';
			} elseif (isset($data['route']) && $data['route'] ==   'account/download') { $url .=  '/conta/download';
			} elseif (isset($data['route']) && $data['route'] ==   'account/return') { $url .=  '/conta/devolucoes';
			} elseif (isset($data['route']) && $data['route'] ==   'account/transaction') { $url .=  '/conta/transacoes';
			} elseif (isset($data['route']) && $data['route'] ==   'account/simpleregister') { $url .=  '/conta/registrar';
			} elseif (isset($data['route']) && $data['route'] ==   'account/return/insert') { $url .=  '/conta/devolucoes/registrar';
			} elseif (isset($data['route']) && $data['route'] ==   'account/voucher') { $url .=  '/conta/vale-presente';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/account') { $url .=  '/afiliados';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/edit') { $url .=  '/afiliados/editar';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/password') { $url .=  '/afiliados/senha';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/payment') { $url .=  '/afiliados/pagamento';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/tracking') { $url .=  '/afiliados/codigo';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/transaction') { $url .=  '/afiliados/transacoes';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/logout') { $url .=  '/afiliados/sair';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/forgotten') { $url .=  '/afiliados/recuperar-senha';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/register') { $url .=  '/afiliados/registrar';
			} elseif (isset($data['route']) && $data['route'] ==   'affiliate/login') { $url .=  '/afiliados/acessar';
			} elseif (isset($data['route']) && $data['route'] ==   'checkout/cart' && $key != 'remove') { $url .=  '/carrinho';
			} elseif (isset($data['route']) && $data['route'] ==   'checkout/checkout') { $url .=  '/compra/finalizar';
			} elseif (isset($data['route']) && $data['route'] ==   'checkout/success') { $url .=  '/compra/finalizada';			
			} elseif (isset($data['route']) && $data['route'] ==   'checkout/voucher') { $url .=  '/vale-presentes';
			} elseif (isset($data['route']) && $data['route'] ==   'information/contact') { $url .=  '/fale-conosco';
			} elseif (isset($data['route']) && $data['route'] ==   'information/sitemap') { $url .=  '/mapa-da-loja';
			} elseif (isset($data['route']) && $data['route'] ==   'product/special' && $key != 'page' && $key != 'sort' && $key != 'limit' && $key != 'order') { $url .=  '/promocoes';
			} elseif (isset($data['route']) && $data['route'] ==   'product/manufacturer') { $url .=  '/fabricantes';
			} elseif (isset($data['route']) && $data['route'] ==   'product/compare') { $url .=  '/lista-de-comparacao';
			
			]]></add>
		</operation>
	</file>
	
</modification>

Neste código só não acicionei a tradução para o seguinte link: http://www.sualoja.com.br/index.php?route=account/order que é responsavel pelo historico de pedidos dos clientes na loja...

o motivo por eu não colocar é por que esta com erro quando clica em visualizar pedido ou em recomprar...

o erro é que a tradução esta sendo duplicada, onde o link deveria se assim: http://www.sualoja.com.br/conta/pedidosinfo&order_id=1,

esta ficando assim: http://www.sualoja.com.br/conta/pedidos/conta/pedidosinfo&order_id=1

as linha de tradução são:
Código: Selecionar todos
         } elseif ($this->request->get['_route_'] ==  'conta/pedidos') { $this->request->get['route'] =  'account/order';
e
Código: Selecionar todos
         } elseif (isset($data['route']) && $data['route'] ==   'account/order') { $url .=  '/conta/pedidos';
se alguem tiver alguma solução, por gentileza poste aqui!
Por linktraba
Mensagens
#45891
Testei aqui os links que estavam falhando estão funcionando perfeitamente, agradeço por compartilhar o arquivo corrigido, abraço, até mais.
Por periscuelo
Mensagens
#47402
Muito bom @Rogério, parabéns pela iniciativa. Eu montei um também mas este é do tutorial (feito pelo @Manoel Vidal) que tinha antes na própria comunidade. Apenas transformei-o em vqmod. Achei mais fácil para acrescentar outras url's visto que basta acrescentar um elemento ao array. Vai abaixo.
Código: Selecionar todos
<?xml version="1.0" encoding="UTF-8"?>
<modification>
	<id>Acrescentar url amigável ao restante do opencart</id>
	<version>1.0.0</version>
	<vqmver>2.3.2</vqmver>
	<author>Ibrahim Brumate</author>
    
	<file name="catalog/controller/common/seo_url.php">
		<operation>
			<search position="after">
				<![CDATA[
					class ControllerCommonSeoUrl extends Controller {
				]]>
			</search>
			<add>
				<![CDATA[
					private $url_list = array (
						'common/home' => '',
						'account/wishlist' => 'lista-presentes',
						'account/account' => 'conta',
						'account/edit' => 'conta/editar',
						'account/password' => 'conta/senha',
						'account/address' => 'conta/enderecos',
						'account/reward' => 'conta/pontos',
						'account/login' => 'conta/acessar',
						'account/logout' => 'conta/sair',
						'account/order' => 'conta/historico',
						'account/newsletter' => 'conta/informativo',
						'account/forgotten' => 'conta/recuperar',
						'account/download' => 'conta/downloads',
						'account/return' => 'conta/devolucoes',
						'account/transaction' => 'conta/transacoes',
						'account/register' => 'conta/registrar',
						'account/return/insert' => 'conta/devolucoes/registrar',
						'affiliate/account' => 'afiliados',
						'affiliate/edit' => 'afiliados/editar',
						'affiliate/password' => 'afiliados/senha',
						'affiliate/payment' => 'afiliados/pagamento',
						'affiliate/tracking' => 'afiliados/codigo',
						'affiliate/transaction' => 'afiliados/transacoes',
						'affiliate/logout' => 'afiliados/sair',
						'affiliate/forgotten' => 'afiliados/recuperar',
						'affiliate/register' => 'afiliados/registrar',
						'affiliate/login' => 'afiliados/acessar',
						'checkout/cart' => 'carrinho',
						'checkout/checkout' => 'carrinho/finalizar',
						'checkout/voucher' => 'vale-presentes',
						'information/contact' => 'contato',
						'information/sitemap' => 'mapa-loja',
						'product/special' => 'promocoes',
						'product/manufacturer' => 'fabricantes',
						'product/compare' => 'lista-comparacao',
						'product/search' => 'busca'
					);
				]]>
			</add>
		</operation>
		<operation>
			<search position="after" offset="2">
				<![CDATA[
					$this->request->get['route'] = 'error/not_found';
				]]>
			</search>
			<add>
				<![CDATA[
					if ( $_s = $this->setURL($this->request->get['_route_']) ) {
						$this->request->get['route'] = $_s;
					}
				]]>
			</add>
		</operation>
		<operation>
			<search position="before" offset="3">
				<![CDATA[
					if ($url) {
				]]>
			</search>
			<add>
				<![CDATA[
					if( $_u = $this->getURL($data['route']) ){
                        $url .= $_u;
                        unset($data[$key]);
                    }
				]]>
			</add>
		</operation>
		<operation>
			<search position="after" offset="2">
				<![CDATA[
					return $link;
				]]>
			</search>
			<add>
				<![CDATA[
					public function getURL($route) {
							if( count($this->url_list) > 0) {
								 foreach ($this->url_list as $key => $value) {
									if($route == $key) {
										return '/'.$value;
									}
								 }
							}
							return false;
					}
					public function setURL($_route) {
							if( count($this->url_list) > 0 ){
								 foreach ($this->url_list as $key => $value) {
									if($_route == $value) {
										return $key;
									}
								 }
							}
							return false;
					}
				]]>
			</add>
		</operation>
	</file>
</modification>
Também pode ser baixado em http://www.opencart.com/index.php?route ... n_id=15773
Editado pela última vez por periscuelo em 10 Nov 2016, 09:15, em um total de 1 vez.
Por rodrigoem
#55472
periscuelo escreveu:Muito bom @Rogério, parabéns pela iniciativa. Eu montei um também mas este é do tutorial (feito pelo @Manoel Vidal) que tinha antes na própria comunidade. Apenas transformei-o em vqmod. Achei mais fácil para acrescentar outras url's visto que basta acrescentar um elemento ao array. Vai abaixo.
Código: Selecionar todos
<?xml version="1.0" encoding="UTF-8"?>
<modification>
	<id>Acrescentar url amigável ao restante do opencart</id>
	<version>1.0.0</version>
	<vqmver>2.3.2</vqmver>
	<author>Ibrahim Brumate</author>
    
	<file name="catalog/controller/common/seo_url.php">
		<operation>
			<search position="after">
				<![CDATA[
					class ControllerCommonSeoUrl extends Controller {
				]]>
			</search>
			<add>
				<![CDATA[
					private $url_list = array (
						'common/home' => '',
						'account/wishlist' => 'lista-presentes',
						'account/account' => 'conta',
						'account/edit' => 'conta/editar',
						'account/password' => 'conta/senha',
						'account/address' => 'conta/enderecos',
						'account/reward' => 'conta/pontos',
						'account/login' => 'conta/acessar',
						'account/logout' => 'conta/sair',
						'account/order' => 'conta/historico',
						'account/newsletter' => 'conta/informativo',
						'account/forgotten' => 'conta/recuperar',
						'account/download' => 'conta/downloads',
						'account/return' => 'conta/devolucoes',
						'account/transaction' => 'conta/transacoes',
						'account/register' => 'conta/registrar',
						'account/return/insert' => 'conta/devolucoes/registrar',
						'affiliate/account' => 'afiliados',
						'affiliate/edit' => 'afiliados/editar',
						'affiliate/password' => 'afiliados/senha',
						'affiliate/payment' => 'afiliados/pagamento',
						'affiliate/tracking' => 'afiliados/codigo',
						'affiliate/transaction' => 'afiliados/transacoes',
						'affiliate/logout' => 'afiliados/sair',
						'affiliate/forgotten' => 'afiliados/recuperar',
						'affiliate/register' => 'afiliados/registrar',
						'affiliate/login' => 'afiliados/acessar',
						'checkout/cart' => 'carrinho',
						'checkout/checkout' => 'carrinho/finalizar',
						'checkout/voucher' => 'vale-presentes',
						'information/contact' => 'contato',
						'information/sitemap' => 'mapa-loja',
						'product/special' => 'promocoes',
						'product/manufacturer' => 'fabricantes',
						'product/compare' => 'lista-comparacao',
						'product/search' => 'busca'
					);
				]]>
			</add>
		</operation>
		<operation>
			<search position="after" offset="2">
				<![CDATA[
					$this->request->get['route'] = 'error/not_found';
				]]>
			</search>
			<add>
				<![CDATA[
					if ( $_s = $this->setURL($this->request->get['_route_']) ) {
						$this->request->get['route'] = $_s;
					}
				]]>
			</add>
		</operation>
		<operation>
			<search position="before" offset="3">
				<![CDATA[
					if ($url) {
				]]>
			</search>
			<add>
				<![CDATA[
					if( $_u = $this->getURL($data['route']) ){
                        $url .= $_u;
                        unset($data[$key]);
                    }
				]]>
			</add>
		</operation>
		<operation>
			<search position="after" offset="2">
				<![CDATA[
					return $link;
				]]>
			</search>
			<add>
				<![CDATA[
					public function getURL($route) {
							if( count($this->url_list) > 0) {
								 foreach ($this->url_list as $key => $value) {
									if($route == $key) {
										return '/'.$value;
									}
								 }
							}
							return false;
					}
					public function setURL($_route) {
							if( count($this->url_list) > 0 ){
								 foreach ($this->url_list as $key => $value) {
									if($_route == $value) {
										return $key;
									}
								 }
							}
							return false;
					}
				]]>
			</add>
		</operation>
	</file>
</modification>
Também pode ser baixado em http://www.opencart.com/index.php?route ... n_id=15773

Inseri o seu VQMOD e está apresentando o erro abaixo.

Parse error: syntax error, unexpected T_PUBLIC in /home/SITE/public_html/vqmod/vqcache/vq2-catalog_controller_common_seo_url.php on line 181

A linha 181 do aquivo contem

public function getURL($route) {

Como posso resolver este problema?

Será que é algum outro vQmod? Ja tentei deixar so este e mesmo assim o erro continua =/
Avatar do usuário
Por rogerio.dobler
#55477
Amigo fiz uma nova versão, se tiver interesse me mande um e-mail que lhe encaminho, em breve vou atualizar la no opencart.com

meu e-mail: rogerioalandobler@hotmail.com

rodrigoem escreveu:
periscuelo escreveu:Muito bom @Rogério, parabéns pela iniciativa. Eu montei um também mas este é do tutorial (feito pelo @Manoel Vidal) que tinha antes na própria comunidade. Apenas transformei-o em vqmod. Achei mais fácil para acrescentar outras url's visto que basta acrescentar um elemento ao array. Vai abaixo.
Código: Selecionar todos
<?xml version="1.0" encoding="UTF-8"?>
<modification>
	<id>Acrescentar url amigável ao restante do opencart</id>
	<version>1.0.0</version>
	<vqmver>2.3.2</vqmver>
	<author>Ibrahim Brumate</author>
    
	<file name="catalog/controller/common/seo_url.php">
		<operation>
			<search position="after">
				<![CDATA[
					class ControllerCommonSeoUrl extends Controller {
				]]>
			</search>
			<add>
				<![CDATA[
					private $url_list = array (
						'common/home' => '',
						'account/wishlist' => 'lista-presentes',
						'account/account' => 'conta',
						'account/edit' => 'conta/editar',
						'account/password' => 'conta/senha',
						'account/address' => 'conta/enderecos',
						'account/reward' => 'conta/pontos',
						'account/login' => 'conta/acessar',
						'account/logout' => 'conta/sair',
						'account/order' => 'conta/historico',
						'account/newsletter' => 'conta/informativo',
						'account/forgotten' => 'conta/recuperar',
						'account/download' => 'conta/downloads',
						'account/return' => 'conta/devolucoes',
						'account/transaction' => 'conta/transacoes',
						'account/register' => 'conta/registrar',
						'account/return/insert' => 'conta/devolucoes/registrar',
						'affiliate/account' => 'afiliados',
						'affiliate/edit' => 'afiliados/editar',
						'affiliate/password' => 'afiliados/senha',
						'affiliate/payment' => 'afiliados/pagamento',
						'affiliate/tracking' => 'afiliados/codigo',
						'affiliate/transaction' => 'afiliados/transacoes',
						'affiliate/logout' => 'afiliados/sair',
						'affiliate/forgotten' => 'afiliados/recuperar',
						'affiliate/register' => 'afiliados/registrar',
						'affiliate/login' => 'afiliados/acessar',
						'checkout/cart' => 'carrinho',
						'checkout/checkout' => 'carrinho/finalizar',
						'checkout/voucher' => 'vale-presentes',
						'information/contact' => 'contato',
						'information/sitemap' => 'mapa-loja',
						'product/special' => 'promocoes',
						'product/manufacturer' => 'fabricantes',
						'product/compare' => 'lista-comparacao',
						'product/search' => 'busca'
					);
				]]>
			</add>
		</operation>
		<operation>
			<search position="after" offset="2">
				<![CDATA[
					$this->request->get['route'] = 'error/not_found';
				]]>
			</search>
			<add>
				<![CDATA[
					if ( $_s = $this->setURL($this->request->get['_route_']) ) {
						$this->request->get['route'] = $_s;
					}
				]]>
			</add>
		</operation>
		<operation>
			<search position="before" offset="3">
				<![CDATA[
					if ($url) {
				]]>
			</search>
			<add>
				<![CDATA[
					if( $_u = $this->getURL($data['route']) ){
                        $url .= $_u;
                        unset($data[$key]);
                    }
				]]>
			</add>
		</operation>
		<operation>
			<search position="after" offset="2">
				<![CDATA[
					return $link;
				]]>
			</search>
			<add>
				<![CDATA[
					public function getURL($route) {
							if( count($this->url_list) > 0) {
								 foreach ($this->url_list as $key => $value) {
									if($route == $key) {
										return '/'.$value;
									}
								 }
							}
							return false;
					}
					public function setURL($_route) {
							if( count($this->url_list) > 0 ){
								 foreach ($this->url_list as $key => $value) {
									if($_route == $value) {
										return $key;
									}
								 }
							}
							return false;
					}
				]]>
			</add>
		</operation>
	</file>
</modification>
Também pode ser baixado em http://www.opencart.com/index.php?route ... n_id=15773

Inseri o seu VQMOD e está apresentando o erro abaixo.

Parse error: syntax error, unexpected T_PUBLIC in /home/SITE/public_html/vqmod/vqcache/vq2-catalog_controller_common_seo_url.php on line 181

A linha 181 do aquivo contem

public function getURL($route) {

Como posso resolver este problema?

Será que é algum outro vQmod? Ja tentei deixar so este e mesmo assim o erro continua =/

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]