Adicionar Slug Automático no OpenCart

Umas das coisas que sentia falta no opencart é criação de slug automático nos produtos, como o wordpress faz nos títulos posts. Por padrão, você tem que digitar manualmente. Claro que em certos momentos é até favorável, mas se podermos agilizar isso, será melhor. Então vamos lá:

Primeiro você precisa baixar um plugin do jQuery chamado stringToSlug. O  Leo Caseiro adaptou esse plugin para tratar palavras com acentuação.

Depois de baixar, você vai descompactá-la, e colocar em :

admin/view/javascript/jquery

Agora vamos fazer uma modificação , atribuindo um id nos campos que irão recuperar o valor e atribuir o slug. Você modificará o arquivo product_form.tpl.

admin/view/template/catalog/product_form.tpl

Procure primeiro por product_description (para facilitar utilize o localizador de seu editor ou IDE), encontrando, atribua o id product_description:

<input type="text" id="product_description" name="product_description[<?php echo $language['language_id']; ?>][name]" size="100" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" />

Agora procure por keyword, e você fará o mesmo procedimento, atribuindo um id a ele (eu atribui uma largura para melhor visualizar, mas é opcional):

<input type="text" id="keyword" style="width:80%" name="keyword" value="<?php echo $keyword; ?>" />

Agora vamos chamar o plugin e a configuração, você irá editar o arquivo header.tpl :

admin/view/template/common/header.tpl

Adicione o plugin:

<script type="text/javascript" src="view/javascript/jquery/jquery.stringToSlug.min.js"></script>

E depois a configuração (existe uma tag script aberta para confirmação de ações utilizando o jQuery, no caso irei adicionar nela, mas você pode fazer separadamente) :

<br />
if($(&quot;#product_description&quot;).length &gt; 0) {<br />
		$(&quot;#product_description&quot;).stringToSlug({<br />
			setEvents: 'blur',<br />
			getPut: '#keyword',<br />
			space: '-'<br />
		});<br />
}<br />

Pronto, dessa maneira ele irá gerar automaticamente o slug do produto para você. Isso pode ser expandido para o fabricante, departamento, o procedimento seria basicamente o mesmo.

4 thoughts on “Adicionar Slug Automático no OpenCart

    1. Bruno, utilizo esse recurso em vários sites usando opencart, em todos eles funcionaram perfeitamente. Utilize o inspetor do chrome, veja se está aparecendo algum erro.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *