Fui ativar o swatches numa loja com Magento 1.9.3.2 e ele não aparecia no frontend, verificada todas as configurações do atributo e a habilitação do swatches no admin, mas só aparecia o dropbox e não aparecia os boxes ou imagens que foram colocadas em “media/wysiwyg/swatches/”, o nome das imagens em minúsculo e o mesmo nome no atributo, mas nada de funcionar, testando numa instalação nova com o tema rwd funcionava.
O meu tema NÃO tem swatches nele, este post não pode ser usado se seu tema contempla o swatches e ele não estiver funcionando.
Pesquisando no google achei um post que foi o início da pesquisa, este abaixo:
https://community.magento.com/t5/Magento-1-x-Technical-Issues/Not-valid-template-file/td-p/13584
Depois de muito googar vou resumir aqui os passos que executei e consegui ter sucesso, sempre faça backup antes de alterações/implementações na sua loja.
Na pasta rwd temos os .phtml e .js, temos que copiar para o nosso tema, assim:
copie toda pasta app/design/frontend/rwd/default/template/configurableswatches para o seu tema app/design/frontend/PACKAGE/THEME/template/
copie de forma recursiva toda a pasta skin/frontend/rwd/default/js/configurableswatches/ para o mesmo local do seu tema, skin/frontend/PACKAGE/THEME/js/
copie app/design/frontend/rwd/default/template/catalog/layer/state.phtml para app/design/frontend/PACKAGE/THEME/template/catalog/layer/state.phtml
Neste fonte teremos que fazer uma alteração depois.
Agora teremos que fazer 2 alterações no catalog.xml do seu tema, a primeira assim:
fonte: app/design/frontend/PACKAGE/THEME/layout/catalog.xml
colocar estas duas linhas
<block type=”core/text_list” name=”product.info.options.configurable.renderers” as=”attr_renderers” />
<block type=”core/text_list” name=”product.info.options.configurable.after” as=”after” />
na referência product.info.options.wrapper como mostrado num pedaço abaixo.
<reference name="product.info.options.wrapper"> <block type="catalog/product_view_type_configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="catalog/product/view/type/options/configurable.phtml"> <block type="core/text_list" name="product.info.options.configurable.renderers" as="attr_renderers" /> <block type="core/text_list" name="product.info.options.configurable.after" as="after" /> </block> </reference> </PRODUCT_TYPE_configurable>
Os números de linhas acima não correspondem as do arquivo catalog.xml.
Agora a segunda é colocar product_options.js em <catalog_product_view translate=”label”>
A linha a ser inserida é esta:
<action method=”addJs”><script>varien/product_options.js</script></action>
Veja parte do arquivo abaixo, os números de linhas não servem de referência.
<catalog_product_view translate="label"> <label>Catalog Product View (Any)</label> <!-- Mage_Catalog --> <reference name="root"> <action method="setTemplate"><template>page/2columns-left.phtml</template></action> </reference> <reference name="head"> <action method="addJs"><script>varien/product.js</script></action> <action method="addJs"><script>varien/configurable.js</script></action> <action method="addJs"><script>varien/product_options.js</script></action> <action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action> .... ....
Agora temos que mudar o .phtml que copiamos do rwd acima, em:
app/design/frontend/PACKAGE/THEME/template/catalog/layer/state.phtml
<?php $_filters = $this->getActiveFilters(); //$_renderers = $this->getParentBlock()->getChild('state_renderers')->getSortedChildren(); $_renderers = $this->getParentBlock()->getChild('state_renderers'); ?> <?php if(!empty($_filters)): ?> <div class="currently"> .... ....
comentei e dupliquei a linha 36 (linha do arquivo fonte) e editei a 37, como acima.
Limpar cache e reload no frontend, agora ao acessar o produto, aparecem as imagens de cores, que foi o atributo usado.
Caso queira colocar todo o swatches num tema aconselho ver o seguinte post:
https://magento.stackexchange.com/questions/45948/how-to-use-magento-1-9-1-0-configurable-swatches-in-default-package-theme-or-a
Espero ter ajudado,
Alfredo Letti