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/jqueryAgora 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.tplProcure 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.tplAdicione 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) :
[javascript]
if($("#product_description").length > 0) {
$("#product_description").stringToSlug({
setEvents: ‘blur’,
getPut: ‘#keyword’,
space: ‘-‘
});
}
[/javascript]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.
não funciona
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.
Esta ultima parte do codigo, aonde adiciono, seria no admin/view/template/catalog/product_form.tpl
Brito, a ultima parte seria colocado no header.tpl