Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v1.x.
#12112
Uso a versão 1.5.1.3. No entanto quando busco a palavra ÁGUA, por exemplo, nenhum produto é em contrado, muito embora tenha o produto ÁGUA cadastrado.


Como resolver?? Acho que essa questão da acentuação é uma das partes que tem que ser melhoradas no OpenCart. Quase não existe material para resolver esse problema. Até agora não encontrei nada. Algum usuário mais avançado poderia colocar um artigo falando sobre isso.
#12114
Bom testei aqui buscando pela palavra televisão em uma das lojas com a versão 1.5.1.3.1 e encontrou sem problemas. :)

Como disse antes, esse é um bug que surgiu nas versões 1.5 que já foi corrigido.

E não entendi o que você quis dizer com "usuário mais avançado", mas tudo bem fica para a próxima. :lol:

damxrn escreveu:Uso a versão 1.5.1.3. No entanto quando busco a palavra ÁGUA, por exemplo, nenhum produto é em contrado, muito embora tenha o produto ÁGUA cadastrado.


Como resolver?? Acho que essa questão da acentuação é uma das partes que tem que ser melhoradas no OpenCart. Quase não existe material para resolver esse problema. Até agora não encontrei nada. Algum usuário mais avançado poderia colocar um artigo falando sobre isso.
#26016
Acho que sei qual foi o problema, pois também tinha.
Uso também a versão 1.5.1.3, se vc acresentar os produtos diretamente na área de adminitração, não haverá o problema.
O problema estava naquala extesnão Import/Export
http://www.opencart.com/index.php?route ... sion_id=17
que importa o arquivo do Excel(.xls) para banco de dados da loja,
descubri que ele converte os caracteres com acento em código htmlentity, por exemplo a letra 'á' ==> á
Agora, quando vc faz busca, o sistema não converte as palavras em htmlentity para fazer a comparação, simplesmente em UFT-8.
Portanto quando vc tenta mandar a palavra por exemplo 'água' para buscar, e no seu banco de dados está a palavra 'água',
o sistema nunca vai achar ela...

Resolvi o problema modificando o código do arquivo: \admin\model\tool\export.php.

Encontre a função populateProductsWorksheet
Código: Selecionar todos
 function populateProductsWorksheet( &$worksheet, &$database, $languageId, &$priceFormat, &$boxFormat, &$weightFormat, &$textFormat )
Substitue a linha
Código: Selecionar todos
 $worksheet->writeString( $i, $j++, html_entity_decode($row['name'],ENT_QUOTES,'UTF-8') );
por
Código: Selecionar todos
 $worksheet->writeString( $i, $j++, $row['name'] );
e substitue a linha
Código: Selecionar todos
 $worksheet->writeString( $i, $j++, html_entity_decode($row['description'],ENT_QUOTES,'UTF-8'), $textFormat, TRUE );
por
Código: Selecionar todos
$worksheet->writeString( $i, $j++, $row['description'], $textFormat, TRUE );
Depois, encontre a função uploadProducts
Código: Selecionar todos
 function uploadProducts( &$reader, &$database ) {
Substitue a linha
Código: Selecionar todos
 $name = htmlentities( $name, ENT_QUOTES, $this->detect_encoding($name) );
por
Código: Selecionar todos
//$name = htmlentities( $name, ENT_QUOTES, $this->detect_encoding($name) );
(ou seja, desabilitando a linha)

desabilite também a linha
Código: Selecionar todos
 $description = htmlentities( $description, ENT_QUOTES, $this->detect_encoding($description) );
Isso funcionou no meu caso. :D