Colocando a campo de quantidade na Home e nas Categorias no Magento
Autor: Gbo Web | Publicado: 2013-03-14T16:23:00-07:00




Tirando uma duvida no Forum do MxCursos sobre como colocar o campo de quantidade tanto na home, quanto na listagem dos produtos pela categoria, como não tinha encontrada nenhuma solução, pelo menos que funcionasse para mim, resolvi fazer tutorial, primeiro para quem precisa realizar essa tarefa, e segundo para eu não esquecer o que fiz&nbsp;&nbsp;;



Mostrarei como fazer na parte da home, e depois você pode fazer na listagem das categorias, que é feito da mesma maneira.

Vamos lá:

Primeira coisa: Vá aonde está o seu template, vamos dizer que está nesse caminho (default é pasta do meu exemplo, você colocará o template que esteja utilizando):

app/design/frontend/default/default/

Dentro dessa pasta (default), veja se tem uma pasta criada chamada&nbsp;template, caso não tenha, crie essa pasta.

Agora dentro da pasta&nbsp;template&nbsp;você cria essas pastas,&nbsp;catalog &gt; product&nbsp;(Dentro da catalog, cria product)

Agora copie o arquivo&nbsp;new.phtml&nbsp;e o&nbsp;list.phtml&nbsp;para pasta product que você criou. Esses arquivos se encontram em:

app/desing/frontend/base/default/template/catalog/product/new.phtmlapp/desing/frontend/base/default/template/catalog/product/list.phtml

Realizando a modificação no arquivo new.phtml

Agora vamos realizar a modificação no arquivo&nbsp;new.phtml, que é o que fica na parte da home (Você pode chamar outros arquivos para ficar na home, mas o mais comum é chama o arquivo&nbsp;new.phtml).

Encontre a linha onde está o foreach, que terá esse código:






1&lt;?php&nbsp;$i=0;&nbsp;foreach&nbsp;($_products-&gt;getItems()&nbsp;as&nbsp;$_product): ?&gt;







Depois desse código, coloque essa tag&nbsp;form, ficando assim:






1&lt;?php&nbsp;$i=0;&nbsp;foreach&nbsp;($_products-&gt;getItems()&nbsp;as&nbsp;$_product): ?&gt;




2&nbsp;




3&nbsp;&lt;form action="&lt;?php echo $this-&gt;getAddToCartUrl($_product) ?&gt;"&nbsp;method="post"




4&lt;?php&nbsp;if($_product-&gt;getOptions()): ?&gt; enctype="multipart/form-data"&nbsp;&lt;?php&nbsp;endif; ?&gt;&gt;







Agora encontre um if , que seria esse código:






1&lt;?php&nbsp;if($_product-&gt;isSaleable()): ?&gt;







Depois dele remova a tag&nbsp;button:






1&lt;button type="button"&nbsp;title="&lt;?php echo $this-&gt;__('Add to Cart') ?&gt;"&nbsp;class="button btn-cart"onclick="setLocation('&lt;?php echo $this-&gt;getAddToCartUrl($_product) ?&gt;')"&gt;&lt;span&gt;&lt;span&gt;&lt;?php&nbsp;echo$this-&gt;__('Add to Cart') ?&gt;&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;







E coloque esse código (que será o campo input da quantidade, e do botão submit) ficando assim:






01&lt;?php&nbsp;if($_product-&gt;isSaleable()): ?&gt;




02&nbsp;




03&nbsp;&lt;div&nbsp;class="add-to-cart"&gt;




04&nbsp;&nbsp;&lt;?php&nbsp;if(!$_product-&gt;isGrouped()): ?&gt;




05&nbsp;&nbsp;&lt;label&nbsp;for="qty"&gt;&lt;?php&nbsp;echo&nbsp;$this-&gt;__('Qty:') ?&gt;&lt;/label&gt;




06&nbsp;&nbsp;&lt;input type="text"&nbsp;name="qty"&nbsp;id="qty"&nbsp;maxlength="12"&nbsp;value="&lt;?php echo $this-&gt;getMinimalQty($_product) ?&gt;"&nbsp;title="&lt;?php echo $this-&gt;__('Qty') ?&gt;"&nbsp;class="input-text qty"&nbsp;/&gt;




07&nbsp;&nbsp;&nbsp;&lt;?php&nbsp;endif; ?&gt;




08&nbsp;&nbsp;&nbsp;&nbsp;&lt;br /&gt;




09&nbsp;&nbsp;&lt;/div&gt;




10&lt;input type="submit"&nbsp;class="button btn-cart"&nbsp;value="&lt;?php echo $this-&gt;__('Add to Cart') ?&gt;"&nbsp;/&gt;&nbsp;







E agora vá até onde fecha o foreach, que seria :






1&lt;?php&nbsp;endforeach; ?&gt;







E coloque o fechamento do&nbsp;form, ficando assim:






1&lt;/form&gt;




2&nbsp;&lt;?php&nbsp;endforeach; ?&gt;







Como trocamos o botão, precisamos estilizá-lo. Vá ao arquivo que está na&nbsp;skin:

skin/frontend/default/default/css/styles.css

Lembrando, que no meu exemplo estou usando o template default, se o seu for diferente, utilize o que você está usando.

Agora dentro do&nbsp;style.css, acrescente:






1input.btn-cart {&nbsp;margin:5px&nbsp;0;&nbsp;display:block;&nbsp;height:25px;&nbsp;cursor:pointer;&nbsp;border:1px&nbsp;solid#de5400;&nbsp;background:#f18200;&nbsp;padding:0&nbsp;8px;&nbsp;font:bold&nbsp;12px/19px&nbsp;Arial,&nbsp;Helvetica,&nbsp;sans-serif;text-align:center;&nbsp;white-space:nowrap;&nbsp;color:#fff; }







Agora basta fazer a mesma modificação no arquivo&nbsp;list.phtml, com os mesmos códigos que fizemos nonew.phtml.