Jump to content

Função para trocar espaço por hífen em link


Recommended Posts

Estou com dificuldades para montar um link: o usuário clica no nome da categoria e deve ser redirecionando para a página da categoria. Segue código abaixo:

 

{if $count==0}
       <a href="{$link->getCategoryLink({$productCate.id} , {$productCate.name})}" >
{/if}
{$productCate.name}
{if $count==0} </a> {/if}

 

$productCate.id retorna o id da categoria e $productCate.name retorna o nome da categoria. A função getCategoryLink monta o link da página da categoria corretamente, retornando nomedaloja.com\$productCate.

id-$productCate.name.

O problema é que $productCate.name contém o nome completo da categoria, incluindo espaços, enquanto no link para página da categoria os espaços no nome da categoria são substituídos por hifens.
 

No caso, o link fica nomedaloja.com\12-Body Bebê (dá erro 404) sendo que deveria ficar nomedaloja.com\12-Body-Bebe.

Tentei implementar funções nos arquivos PHP do módulo usando str_replace pra substituir espaço por hífen, mas simplesmente não funcionou.

Teria algum tipo de função ou outra forma de resolver isso?

Obrigada!

cleardot.gif
Edited by Bianca Matos (see edit history)
Link to comment
Share on other sites

Nao entendi o que vc. quer realizar. O Prestashop usa por padrao os hífens na URL, nao existem espacos vazios em URL'S. Se nao está aplicando, entao o problema está no seu servidor, ou entao vc. mexeu nos Links manualmente.

 

Mod_rewrite instalado no servidor ?

Está usando um tema próprio ?

 

Espacos vazios em Links nao existem e sao proíbidos por norma, por isto nao entendo como vc. está conseguindo estes links. https://en.wikipedia.org/wiki/URL_normalization

 

 

Qual a URL da sua página para podermos visualizar.

Link to comment
Share on other sites

 

Estou com dificuldades para montar um link: o usuário clica no nome da categoria e deve ser redirecionando para a página da categoria. Segue código abaixo:

 

{if $count==0}

       <a href="{$link->getCategoryLink({$productCate.id} , {$productCate.name})}" >

{/if}

{$productCate.name}

{if $count==0} </a> {/if}

 

A classe getCategoryLink não utiliza o nome da categoria, mas o link reescrito.

Assim, sua url deveria ser:

{$link->getCategoryLink($productCate.id, $productCate.link_rewrite)}
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...