<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ecommerce Archives - Pereira, Thiago Santos.</title>
	<atom:link href="https://thiagosantos.com/blog/category/ecommerce/feed/" rel="self" type="application/rss+xml" />
	<link>https://thiagosantos.com/blog/category/ecommerce/</link>
	<description>the fun of code.</description>
	<lastBuildDate>Sun, 25 Mar 2018 02:04:56 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5</generator>
	<item>
		<title>Magento 2 &#8211; alterar a quantidade mínima de caracteres da senha</title>
		<link>https://thiagosantos.com/blog/666/ecommerce/magento/magento-2-alterar-a-quantidade-minima-de-caracteres-da-senha/</link>
					<comments>https://thiagosantos.com/blog/666/ecommerce/magento/magento-2-alterar-a-quantidade-minima-de-caracteres-da-senha/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Sun, 25 Mar 2018 02:03:51 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=666</guid>

					<description><![CDATA[<p>Introdução Em um post anterior montei um passo a passo de como alterar a complexidade da regra de validação da senha dos usuários no Magento 2. Para complementar aquele, estou postando esse em que eu faço um passo a passo de como alterar a quantidade mínima de caracteres da senha. Administrador Já logado no admin [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/666/ecommerce/magento/magento-2-alterar-a-quantidade-minima-de-caracteres-da-senha/">Magento 2 &#8211; alterar a quantidade mínima de caracteres da senha</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introdução</h2>
<p>Em um post anterior montei um passo a passo de como <a href="http://thiagosantos.com/blog/656/ecommerce/magento/magento-2-alterando-a-complexidade-da-regra-de-validacao-da-senha/">alterar a complexidade da regra de validação da senha</a> dos usuários no Magento 2. Para complementar aquele, estou postando esse em que eu faço um passo a passo de como alterar a quantidade mínima de caracteres da senha.<span id="more-666"></span></p>
<h2>Administrador</h2>
<p>Já logado no admin do Magento 2, vá em <strong>Store -&gt; Configuration</strong>, depois acesse no menu lateral <strong>Customers &#8211; &gt; Customer Configuration</strong> e depois em <strong>Password Options</strong></p>
<figure id="attachment_667" aria-describedby="caption-attachment-667" style="width: 909px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="size-full wp-image-667" src="http://thiagosantos.com/blog/wp-content/uploads//2018/03/Screen-Shot-2018-03-24-at-21.05.40.png" alt="Alterar a quantidade minima de caracteres" width="909" height="97" srcset="https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-21.05.40.png 909w, https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-21.05.40-300x32.png 300w, https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-21.05.40-768x82.png 768w, https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-21.05.40-624x67.png 624w" sizes="(max-width: 909px) 100vw, 909px" /><figcaption id="caption-attachment-667" class="wp-caption-text">Campo para alterar a quantidade minima de caracteres para o usuário do magento</figcaption></figure>
<p>Por padrão o Magento define como 8 caracteres a quantidade minima de uma senha, esse valor pode ser alterado para mais ou para menos. Faço a recomendação para que caso seja para menos de 8 caracteres tenha no mínimo <a href="http://thiagosantos.com/blog/656/ecommerce/magento/magento-2-alterando-a-complexidade-da-regra-de-validacao-da-senha/">duas classes de caracteres</a> como obrigatório para a senha.</p>
<h2>Senhas</h2>
<p>Quanto mais fáceis permitimos que a senha seja menos forte a senha será digitada pelo usuário. Temos uma ligação direta com a proteção dos dados dos usuário. Precisamos ter em mente que há uma real necessidade de manter os usuários salvos deles mesmos. Por isso válido a necessidade de uma senha com no mínimo de duas classes de caracteres e com 8 dígitos.</p>
<p>The post <a href="https://thiagosantos.com/blog/666/ecommerce/magento/magento-2-alterar-a-quantidade-minima-de-caracteres-da-senha/">Magento 2 &#8211; alterar a quantidade mínima de caracteres da senha</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/666/ecommerce/magento/magento-2-alterar-a-quantidade-minima-de-caracteres-da-senha/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Magento 2 &#8211; alterar a complexidade da regra de validação da senha</title>
		<link>https://thiagosantos.com/blog/656/ecommerce/magento/magento-2-alterando-a-complexidade-da-regra-de-validacao-da-senha/</link>
					<comments>https://thiagosantos.com/blog/656/ecommerce/magento/magento-2-alterando-a-complexidade-da-regra-de-validacao-da-senha/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Sat, 24 Mar 2018 23:23:15 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[alterar complexidade]]></category>
		<category><![CDATA[magento 2]]></category>
		<category><![CDATA[regras de validação de senha]]></category>
		<category><![CDATA[senha]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=656</guid>

					<description><![CDATA[<p>Introdução Agora com o Magento 2 ficou muito fácil alterar a complexidade da regra de validação da senha cadastrada pelo usuário. Por padrão o Magento 2 usa três tipos de caracteres entre (letras caixa baixa, letras caixa alta, números e caracteres especiais). No entanto é possível simplificar essa regra de validação, lembrando que não é [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/656/ecommerce/magento/magento-2-alterando-a-complexidade-da-regra-de-validacao-da-senha/">Magento 2 &#8211; alterar a complexidade da regra de validação da senha</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introdução</h2>
<p>Agora com o Magento 2 ficou muito fácil alterar a complexidade da regra de validação da senha cadastrada pelo usuário. Por padrão o Magento 2 usa três tipos de caracteres entre (letras caixa baixa, letras caixa alta, números e caracteres especiais).<span id="more-656"></span></p>
<p>No entanto é possível simplificar essa regra de validação, lembrando que não é uma boa ideia fazer isso! Quanto mais complexa a senha menor a chance de alguém conseguir quebrar e ter acesso aos dados do seu usuário. Se todos nós, desenvolvedores e administradores de sites, forçarmos aos nossos usuários padrões de senhas mais complexas ocorrerá, sem sombras de dúvidas, uma melhora da força das senhas e em seguida uma menor chance de quebra.</p>
<h2>Administrador</h2>
<p>Já logado no admin do Magento 2, va em <strong>Store -&gt; Configuration</strong>, depois acesse no menu lateral <strong>Customers &#8211; &gt; Customer Configuration</strong> e depois em <strong>Password Options</strong></p>
<figure id="attachment_657" aria-describedby="caption-attachment-657" style="width: 909px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-657 size-full" title="Campo em &quot;Password Options&quot; para alterar a quantidade de caracteres" src="http://thiagosantos.com/blog/wp-content/uploads//2018/03/Screen-Shot-2018-03-24-at-19.47.02.png" alt="Campo em &quot;Password Options&quot; para alterar a quantidade de caracteres" width="909" height="95" srcset="https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-19.47.02.png 909w, https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-19.47.02-300x31.png 300w, https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-19.47.02-768x80.png 768w, https://thiagosantos.com/blog/wp-content/uploads/2018/03/Screen-Shot-2018-03-24-at-19.47.02-624x65.png 624w" sizes="(max-width: 909px) 100vw, 909px" /><figcaption id="caption-attachment-657" class="wp-caption-text">Campo em &#8220;Password Options&#8221; para alterar a quantidade de caracteres</figcaption></figure>
<h2>Como funciona</h2>
<p>A regra é bem simples: a quantidade de dígitos corresponde a quantidade de classes de caracteres são eles: letras em caixa baixa, letras em caixa alta, números e caracteres especiais. Quanto maior a quantidade de caracteres maior a complexidade da senha. Por exemplo:</p>
<p>1 &#8211; será aceito senhas unicamente com números, letras caixa baixa, letras caixa alta e caracteres especiais:</p>
<ul>
<li><span style="color: #000000;"><strong>09151987</strong></span></li>
<li><span style="color: #000000;"><strong>senhasenha</strong></span></li>
<li><span style="color: #000000;"><strong>SENHASENHA</strong></span></li>
<li><span style="color: #000000;"><strong>!@#$@!#$%</strong></span></li>
</ul>
<p>2 &#8211; só serão aceitos senhas com duas classes de caracteres ( o que deixa um pouco mais seguro):</p>
<ul>
<li><span style="color: #000000;"><strong>05151987<span style="color: #ff9900;">senha</span></strong></span></li>
<li><span style="color: #000000;"><strong>senha</strong><span style="color: #ff9900;"><strong>SENHA</strong></span></span></li>
<li><span style="color: #000000;"><strong>senha</strong><span style="color: #ff9900;"><strong>@!$</strong></span></span></li>
</ul>
<p>3 &#8211; só serão aceitas senhas com três classes de caracteres, o que deixa a senha ainda mais segura!</p>
<ul>
<li><strong><span style="color: #ff9900;">09051987</span><span style="color: #000000;">SE</span><span style="color: #0000ff;">nha</span></strong></li>
<li><strong>senha<span style="color: #ff9900;">PASS</span><span style="color: #0000ff;">$#!</span></strong></li>
<li><strong>#$@<span style="color: #ff9900;">TEE</span><span style="color: #0000ff;">1234</span></strong></li>
</ul>
<p>4 &#8211; só serão aceitas senhas com quatro classes de caracteres, deixando a senha fuderoza!</p>
<ul>
<li><strong><span style="color: #ff9900;">09051987</span><span style="color: #000000;">SE</span><span style="color: #0000ff;">nha<span style="color: #339966;">!@#$</span></span></strong></li>
<li><strong>senha<span style="color: #ff9900;">PASS</span><span style="color: #0000ff;">$#!<span style="color: #339966;">9013</span></span></strong></li>
<li><strong>#$@<span style="color: #ff9900;">TEE</span><span style="color: #0000ff;">1234<span style="color: #339966;">vamos</span></span></strong></li>
</ul>
<p>É isso, bem simples!<br />
Colori as classes para destacar as cadeias de caracteres das classes envolvidas. Vale lembrar que para o Magento 2 define como padrão 8 a quantidade minima de caracteres para uma senha. Se é possível alterar a <a href="http://thiagosantos.com/blog/666/php/magento-2-alterar-a-quantidade-minima-de-caracteres-da-senha/">quantidade minima de caracteres? Sim! É possível!</a></p>
<p>Fontes:<br />
<a href="https://magento.stackexchange.com/questions/117449/magento-2-how-to-change-password-length-validation">https://magento.stackexchange.com/questions/117449/magento-2-how-to-change-password-length-validation</a></p>
<p>The post <a href="https://thiagosantos.com/blog/656/ecommerce/magento/magento-2-alterando-a-complexidade-da-regra-de-validacao-da-senha/">Magento 2 &#8211; alterar a complexidade da regra de validação da senha</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/656/ecommerce/magento/magento-2-alterando-a-complexidade-da-regra-de-validacao-da-senha/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Problemas com a quantidade de itens no carrinho</title>
		<link>https://thiagosantos.com/blog/593/php/problemas-com-a-quantidade-de-itens-carrinho/</link>
					<comments>https://thiagosantos.com/blog/593/php/problemas-com-a-quantidade-de-itens-carrinho/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Fri, 05 Sep 2014 19:35:21 +0000</pubDate>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[carrinho não atualizando]]></category>
		<category><![CDATA[magento não atualizando]]></category>
		<category><![CDATA[problema]]></category>
		<category><![CDATA[quantidade de produtos]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=593</guid>

					<description><![CDATA[<p>Trabalhando junto com um cliente fizemos a atualização da versão do seu Magento da 1.7 para a 1.9. Fora um ou outro pequeno contratempo podemos dizer que a atualização correu de forma limpa. No entanto, eis que nos deparamos com um problema, que até então eu nunca tinha visto, a quantidade de itens no carrinho [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/593/php/problemas-com-a-quantidade-de-itens-carrinho/">Problemas com a quantidade de itens no carrinho</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Trabalhando junto com um cliente fizemos a atualização da versão do seu Magento da 1.7 para a 1.9. Fora um ou outro pequeno contratempo podemos dizer que a atualização correu de forma limpa. No entanto, eis que nos deparamos com um problema, que até então eu nunca tinha visto, a quantidade de itens no carrinho de nenhum produto era atualizado!</p>
<p>Toda a atualização correu bem e apesar de todos os testes que fizemos essa passou em branco. Acontece que desde a versão 1.8 do Magento ele trás um mecanismo de proteção contra <a title="CSRF" href="http://en.wikipedia.org/wiki/Cross-site_request_forgery" target="_blank">CSRF</a> em alguns formulários. Logo se você tem o Magento e o seu tema utiliza uma página de carrinho própria ( cart.phtml ) e você está enfrentando o mesmo problema com a quantidade de itens que não são atualizadas no carrinho você pode seguir os seguintes passos:<span id="more-593"></span></p>
<p>Abra o arquivo &#8220;cart.phtml&#8221; referente ao tema que você está usando no seu site atualmente. Procure pela linha abaixo</p>
<pre class="wp-code-highlight prettyprint prettyprinted" lang="php" style="font-size: 12px; font-family: monospace, serif;"><span class="pln" style="color: #000000;">&lt;form action="</span><span class="pun" style="color: #666600;">&lt;?</span><span class="pln" style="color: #000000;">php echo $this</span><span class="pun" style="color: #666600;">-&gt;</span><span class="pln" style="color: #000000;">getUrl</span><span class="pun" style="color: #666600;">(</span><span class="str" style="color: #008800;">'checkout/cart/updatePost'</span><span class="pun" style="color: #666600;">)</span> <span class="pun" style="color: #666600;">?&gt;</span><span class="pln" style="color: #000000;">" method="post"&gt;

</span></pre>
<p>Logo abaixo você insere o seguinte trecho de código:</p>
<pre class="wp-code-highlight prettyprint prettyprinted" lang="php" style="font-size: 12px; font-family: monospace, serif;"><span class="pun" style="color: #666600;">&lt;?</span><span class="pln" style="color: #000000;">php echo $this</span><span class="pun" style="color: #666600;">-&gt;</span><span class="pln" style="color: #000000;">getBlockHtml</span><span class="pun" style="color: #666600;">(</span><span class="str" style="color: #008800;">'formkey'</span><span class="pun" style="color: #666600;">);</span> <span class="pun" style="color: #666600;">?&gt;</span></pre>
<p>Ficando assim:</p>
<pre class="wp-code-highlight prettyprint prettyprinted" lang="php" style="font-size: 12px; font-family: monospace, serif;"><span class="pln" style="color: #000000;">&lt;form action="</span><span class="pun" style="color: #666600;">&lt;?</span><span class="pln" style="color: #000000;">php echo $this</span><span class="pun" style="color: #666600;">-&gt;</span><span class="pln" style="color: #000000;">getUrl</span><span class="pun" style="color: #666600;">(</span><span class="str" style="color: #008800;">'checkout/cart/updatePost'</span><span class="pun" style="color: #666600;">)</span> <span class="pun" style="color: #666600;">?&gt;</span><span class="pln" style="color: #000000;">" method="post"&gt;
&lt;?php echo $this-&gt;getBlockHtml('formkey');?&gt;</span></pre>
<p>Simples assim!<br />
Testa ai e veja se a quantidade de itens no carrinho mudou!</p>
<p>obs: façam um backup prévio</p>
<p>Referencias:<br />
http://stackoverflow.com/questions/20915093/magento-quantity-in-checkout-shopping-cart-dont-work-properly<br />
https://github.com/nexcess/magento-turpentine/blob/master/TECHINCAL_NOTES.md</p>
<p>The post <a href="https://thiagosantos.com/blog/593/php/problemas-com-a-quantidade-de-itens-carrinho/">Problemas com a quantidade de itens no carrinho</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/593/php/problemas-com-a-quantidade-de-itens-carrinho/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Alterar a quantidade minima de compra de todos os produtos</title>
		<link>https://thiagosantos.com/blog/564/ecommerce/alterar-quantidade-minima-de-compra-de-todos-os-produtos/</link>
					<comments>https://thiagosantos.com/blog/564/ecommerce/alterar-quantidade-minima-de-compra-de-todos-os-produtos/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Tue, 07 Jan 2014 11:53:13 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[qtd minima checkout]]></category>
		<category><![CDATA[qtd produtos]]></category>
		<category><![CDATA[quantidade minima]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=564</guid>

					<description><![CDATA[<p>Me deparei outro dia com a necessidade de alterar a quantidade minima para a compra de produtos no Magento. Por padrão na página de exibição do produto há um campo de texto onde você adiciona quantos itens você quer daquele produto o valor minimo inicial por padrão é 0. Mas e se eu quiser que o minimo [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/564/ecommerce/alterar-quantidade-minima-de-compra-de-todos-os-produtos/">Alterar a quantidade minima de compra de todos os produtos</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Me deparei outro dia com a necessidade de alterar a quantidade minima para a compra de produtos no Magento. Por padrão na página de exibição do produto há um campo de texto onde você adiciona quantos itens você quer daquele produto o valor minimo inicial por padrão é <em>0.</em> Mas e se eu quiser que o minimo seja 1, 5 ou mesmo N ? Há duas formas de controlar essa quantidade minima.<span id="more-564"></span></p>
<p><span style="color: #3366ff;"><strong>Página de edição do produto</strong></span></p>
<p>A primeira é a na própria página de edição do produto, no menu &#8220;Inventory&#8221; desmarque a opção &#8220;Use Config Settings&#8221; para &#8220;Minimum Qty Allowed in Shopping Cart&#8221; e defina qual a quantidade minima desde produto para ser adicionado ao carrinho.</p>
<p><img decoding="async" class="size-full wp-image-565 aligncenter" src="http://thiagosantos.com/blog/wp-content/uploads//2014/01/thiagosantos.com_magento_minimum_qty_allowed_shopping_cart.jpg" alt="thiagosantos.com_magento_minimum_qty_allowed_shopping_cart" width="598" height="470" srcset="https://thiagosantos.com/blog/wp-content/uploads/2014/01/thiagosantos.com_magento_minimum_qty_allowed_shopping_cart.jpg 598w, https://thiagosantos.com/blog/wp-content/uploads/2014/01/thiagosantos.com_magento_minimum_qty_allowed_shopping_cart-300x235.jpg 300w" sizes="(max-width: 598px) 100vw, 598px" /></p>
<p><span style="color: #3366ff;"><strong>Configuração global</strong></span></p>
<p><strong> </strong><span style="line-height: 1.714285714; font-size: 1rem;">A segunda forma é a configuração global cujo valor é aplicado para todos os produtos que estão com opção &#8220;Use Config Settings&#8221; para &#8220;</span><span style="line-height: 1.714285714; font-size: 1rem;">Use Config Settings&#8221; para &#8220;Minimum Qty Allowed in Shopping Cart&#8221; marcado. Essa opção está localizada em &#8220;System&#8221;-&gt;&#8221;Configuration&#8221;-&gt;&#8221;Inventory&#8221; no item &#8220;Product Stock Option&#8221;, escolha &#8220;ALL GROUPS&#8221; para aplicar a regra a todos os grupos de usuários do seu site. </span></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-566" src="http://thiagosantos.com/blog/wp-content/uploads//2014/01/thiagosantos.com_magento_minimum_qty_allowed_shopping_cart_global.jpg" alt="thiagosantos.com_magento_minimum_qty_allowed_shopping_cart_global" width="695" height="440" srcset="https://thiagosantos.com/blog/wp-content/uploads/2014/01/thiagosantos.com_magento_minimum_qty_allowed_shopping_cart_global.jpg 695w, https://thiagosantos.com/blog/wp-content/uploads/2014/01/thiagosantos.com_magento_minimum_qty_allowed_shopping_cart_global-300x189.jpg 300w, https://thiagosantos.com/blog/wp-content/uploads/2014/01/thiagosantos.com_magento_minimum_qty_allowed_shopping_cart_global-624x395.jpg 624w" sizes="(max-width: 695px) 100vw, 695px" /></p>
<p>Simples assim.</p>
<p>:-)</p>
<p>The post <a href="https://thiagosantos.com/blog/564/ecommerce/alterar-quantidade-minima-de-compra-de-todos-os-produtos/">Alterar a quantidade minima de compra de todos os produtos</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/564/ecommerce/alterar-quantidade-minima-de-compra-de-todos-os-produtos/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Adicionar um ou multiplos produtos com apenas um link no Magento</title>
		<link>https://thiagosantos.com/blog/468/php/adicionar-um-ou-multiplos-produtos-com-apenas-um-link-no-magento/</link>
					<comments>https://thiagosantos.com/blog/468/php/adicionar-um-ou-multiplos-produtos-com-apenas-um-link-no-magento/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Thu, 06 Jun 2013 18:09:26 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[adicionar produtos ao carrinho]]></category>
		<category><![CDATA[adicionar vários produtos]]></category>
		<category><![CDATA[carinho magento]]></category>
		<category><![CDATA[promoções]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=468</guid>

					<description><![CDATA[<p>Cria-se uma forma diante da necessidade, ou simplesmente descobre que essa forma já existe. Diferente do que há pela internet aqui eu compartilho uma forma realmente muito fácil de adicionar diversos produtos simples ao mesmo tempo via query string. Usando o metodo ADD do próprio checkout/cart, passando os IDs do produto. Criei abaixo uma lista com quatro [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/468/php/adicionar-um-ou-multiplos-produtos-com-apenas-um-link-no-magento/">Adicionar um ou multiplos produtos com apenas um link no Magento</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Cria-se uma forma diante da necessidade, ou simplesmente descobre que essa forma já existe. Diferente do que há pela internet aqui eu compartilho uma forma realmente muito fácil de adicionar diversos produtos simples ao mesmo tempo via query string.</p>
<p><span style="line-height: 1.714285714; font-size: 1rem;">Usando o metodo ADD do próprio checkout/cart, passando os IDs do produto. Criei abaixo uma lista com quatro produtos fictícios apenas para mostrar com exemplos como a coisa funciona.</span></p>
<p>ID &#8211; 5584 &#8211; DVD UFC 2093<br />
ID &#8211; 5506 &#8211; CD Thiago Santos Sertanejo Caipira Ao Vivo<br />
ID &#8211; 5376 &#8211; Livro Minha Praia é o Shell<br />
ID &#8211; 5247 &#8211; e-Book Alo alo Marcianos!<span id="more-468"></span></p>
<p><strong style="line-height: 1.714285714; font-size: 1rem;">Adicionando apenas um produto.</strong></p>
<blockquote><p>1ª forma</p>
<p><span style="color: #3366ff;">www.lojadothiagao.com.br/<wbr />checkout/cart/add/product/<wbr />5584/</span></p>
<p>2ª forma</p>
<p><span style="color: #3366ff;">www.lojadothiagao.com.br/checkout/cart/add?product=5584</span></p></blockquote>
<p>Com esse link adiciono após o clique o produto DVD UFC 2093 ao meu carrinho, caso ele já esteja no carrinho será acrescentado mais um.</p>
<p><strong>Adicionando multiplos produtos</strong></p>
<p style="padding-left: 30px;">1ª forma</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">www.lojadothiagao.com.br/<wbr />checkout/cart/add/product/<wbr />5584/related_product/5506,5376</span></p>
<p style="padding-left: 30px;">2ª forma</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;"> www.lojadothiagao.com.br/checkout/cart/add?product=5584&amp;related_product=5506,5376</span></p>
<p>&nbsp;</p>
<p>Essa forma de adicionar os produtos são extremamente úteis quando você manda uma mala direta, ou faz uma promoção. Os usuário já entra no carrinho com os produtos adicionados. O grande segredo é o parâmetro<em> related_product</em> basta adicionar os produtos pelo ID separados por virgula.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://thiagosantos.com/blog/468/php/adicionar-um-ou-multiplos-produtos-com-apenas-um-link-no-magento/">Adicionar um ou multiplos produtos com apenas um link no Magento</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/468/php/adicionar-um-ou-multiplos-produtos-com-apenas-um-link-no-magento/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Workaround para o modulo do PedroTeixeira/Correios</title>
		<link>https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/</link>
					<comments>https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Sun, 02 Dec 2012 13:10:30 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Workaround]]></category>
		<category><![CDATA[correios]]></category>
		<category><![CDATA[correios cod 99]]></category>
		<category><![CDATA[correios patch php magento]]></category>
		<category><![CDATA[pedro teixeira correios]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=437</guid>

					<description><![CDATA[<p>Um amigo me relatou no dia de ontem (1/12/2012) que o retorno das informações do frete dos correios estavam retornando a mesma mensagem: Houve um erro inesperado, por favor entre em contato. Erro ao calcular o prazo, teste novamente mais tarde.(Cod. 99). &#160; O e-Commerce dele, assim como grande parte dos e-Commerces brasileiros, utiliza o modulo [&#8230;]</p>
<p>The post <a href="https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/">Workaround para o modulo do PedroTeixeira/Correios</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Um amigo me relatou no dia de ontem (1/12/2012) que o retorno das informações do frete dos correios estavam retornando a mesma mensagem: <span style="color: #ff0000;">Houve um erro inesperado, por favor entre em contato. Erro ao calcular o prazo, teste novamente mais tarde.(Cod. 99).</span></p>
<p>&nbsp;</p>
<figure id="attachment_439" aria-describedby="caption-attachment-439" style="width: 300px" class="wp-caption aligncenter"><a href="http://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/attachment/screen-shot-2012-12-01-at-12-39-32-am-2/" rel="attachment wp-att-439"><img loading="lazy" decoding="async" class="size-medium wp-image-439" title="Screen Shot 2012-12-01 at 12.39.32 AM" src="http://thiagosantos.com/blog/wp-content/uploads//2012/12/Screen-Shot-2012-12-01-at-12.39.32-AM1-300x204.png" alt="" width="300" height="204" srcset="https://thiagosantos.com/blog/wp-content/uploads/2012/12/Screen-Shot-2012-12-01-at-12.39.32-AM1-300x204.png 300w, https://thiagosantos.com/blog/wp-content/uploads/2012/12/Screen-Shot-2012-12-01-at-12.39.32-AM1.png 392w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-439" class="wp-caption-text">Mensagem de retorno dos Correios.</figcaption></figure>
<p><span id="more-437"></span>O e-Commerce dele, assim como grande parte dos e-Commerces brasileiros, utiliza o modulo do PedroTeixeira para calculo do frete, que usa o webservice dos Correios. Resolvi dar uma olhada na página do modulo e encontrei o comentário do <a href="http://www.av5.com.br/" rel="external nofollow">Anderson Vincoletto</a>, sobre a obrigatoriedade de alguns novos campos. A partir dai não foi dificil encontrar a solução, comparando os campos definidos no modulo com os campos da <a title="Manual de implantação dos Correios" href="http://www.correios.com.br/webServices/PDF/SCPP_manual_implementacao_calculo_remoto_de_precos_e_prazos.pdf">documentação</a>. O campo nVlDiametro, passou então a ser obrigatório.</p>
<p>Então no arquivo ./community/PedroTeixeira/Correios/Model/Carrier/CorreiosMethod.php no metodo _getCorreiosReturn abaixo da linha.</p>
<pre lang="php">//encontre essa linha e embaixo dela
$client-&gt;setParameterGet('nVlLargura',$this-&gt;getConfigData('largura_sent'));
//adicione a seguinte linha
$client-&gt;setParameterGet('nVlDiametro',0);</pre>
<p>Depois de alterar essa linha o problema continuou! :)<br />
Pesquisando mais um pouco cheguei ao site da OpenCartBrasil nessa <a title="[PATCH] Corrigindo temporariamente o módulo dos Correios" href="http://www.opencartbrasil.com.br/forum/viewtopic.php?f=24&amp;t=5777" target="_blank">thread</a>. Onde Manoel Vidal sugeria a mudança da URL do Webservice.e sugeria a fixação do prazo de entrega, onde no meu caso não foi necessário.</p>
<p>No arquivo ./community/PedroTeixeira/Correios/etc/config.xml faça o mesmo abaixo:</p>
<pre lang="html">&lt;!--&lt;url_ws_correios&gt;http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx&lt;/url_ws_correios&gt;--&gt;
&lt;url_ws_correios&gt;http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx/CalcPreco&lt;/url_ws_correios&gt;</pre>
<p>Fazendo a mudança da URL o erro ficou diferente, mas agora o retorno estava completo! E o problema passou a ser o formato do XML.</p>
<pre lang="php">if(count($xml-&gt;cServico) &lt;= 0){
throw new Exception("No tag cServico in Correios XML [" . __LINE__ . "]");
}

return $xml-&gt;cServico;</pre>
<p>Analisando o XML de retorno vi que tinha um nó chamado Servicos que contém todos os cServicos, dai então alterei o código para o abaixo:</p>
<pre lang="php">if(count($xml-&gt;Servicos-&gt;cServico) &lt;= 0){
throw new Exception("No tag cServico in Correios XML [" . __LINE__ . "]");
}

return $xml-&gt;Servicos-&gt;cServico;</pre>
<p>Depois de atualizar o cache, tudo voltou a funcionar magicamente.</p>
<p><strong>observações</strong>:<br />
-Essa é uma solução temporária até que os Correios normalizem o seu webservice padrão.<br />
-O campo nVlDiametro é um parâmetro para o envio de rolo/prisma que passou a ser obrigatório. Como o código do PedroTexeira não incorpora esse tipo de embalagem (somente pacote/caixa) o valor do dado por mim ao campo foi 0.<br />
-@Leonardo obrigado pelo aviso.</p>
<p>The post <a href="https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/">Workaround para o modulo do PedroTeixeira/Correios</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/437/php/workaround-para-o-modulo-do-pedroteixeiracorreios/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title>Magento login automático</title>
		<link>https://thiagosantos.com/blog/306/php/magento-login-automatico/</link>
					<comments>https://thiagosantos.com/blog/306/php/magento-login-automatico/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Tue, 27 Mar 2012 18:27:25 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[login automático]]></category>
		<category><![CDATA[magento customer login]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=306</guid>

					<description><![CDATA[<p>O login automático é uma solução para desenvolvedores, mantenedores e proprietários de ecommerce Magento que querem dar uma melhor experiência para seus usuários. Vale a pena dar uma lida, e mais a pena ainda comentarem.</p>
<p>The post <a href="https://thiagosantos.com/blog/306/php/magento-login-automatico/">Magento login automático</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #3366ff;"><strong>1. Introdução</strong></span></p>
<p>Construindo um modulo para carrinho abandonado no Magento me deparei com a seguinte situação:</p>
<ol>
<li>O usuário recebe no email uma cópia do carrinho que ele abandonou</li>
<li>Ele se interessa novamente pelos produtos, clica no email</li>
<li>É então direcionado para a página de login do Magento</li>
<li>Digita usuário e senha, e é direcionado para a home, ou para a minha conta (varia de acordo com as configurações do admin)</li>
<li>Depois o usuário tem que se dar ao trabalho de ir para o página do carrinho (checkout/cart)</li>
<li>E dai então continuar com o processo</li>
</ol>
<div>São 6 passos para que o cliente tem que seguir para continuar com a compra que ele havia abandonado uma vez.</div>
<div>Achei tudo muito complicado. O usuário já se interessar pelo carrinho que ele abandonou já seria um grande lucro, então vamos facilitar.</div>
<div>Pensando nisso criei uma proposta para diminuir de 6 passos para apenas 4, removendo os passos mais entediantes logar e direcionar o usuário pro carrinho. A proposta é que após receber o carrinho abandonado por e-mail o cliente entre direto na página do carrinho já logado. Os passos são descritos abaixo:</div>
<div>
<ol>
<li>O usuário recebe no email uma cópia do carrinho que ele abandonou</li>
<li>Ele se interessa novamente pelo produtos, clica no email</li>
<li>É então direcionado para uma página onde seu usuário é autenticado, e então automaticamente redirecionado para para a página do carrinho já logado.</li>
<li>Se necessário modificar o carrinho e continuar com o processo<br />
<span id="more-306"></span></li>
</ol>
<div>[Um ponto que seria interessante de estudar é a eficacia de direcionar o usuário para a página do carrinho e para a página de checkout, fica ai a dica para os curiosos.]</div>
</div>
<div><strong><span style="color: #3366ff;">2. Criptografia</span></strong></div>
<div>Tive que bolar um jeito de conseguir passar uma string com um identificador único do usuário através dos parametro GET no email dele. O Magento disponibiliza o &#8220;core/encryption&#8221; capaz de criptografar e descriptografar uma string qualquer. O legal disso é a string que criptografar com a minha instalação será diferente da sua, mesmo se passarmos exatamente os mesmos valores. Isso porque o Magento usa os dados do &#8220;crypt key&#8221; definida no momento da instalação.</div>
<div>De forma prática:</div>
<pre lang="php">$crypt = Mage::getModel('core/encryption');
echo $crypt-&gt;encrypt("thiagão_boladão");</pre>
<pre lang="php">[retornos]
Magento 1: tDxa5XdEj6easqHi2pglwF/eQYKimNNJ
Magento 2: 5skpZoWseMKdMgd/aOMLrXSVhLebaMUa</pre>
<p>Em duas instalações diferentes do Magento, obtive duas saídas diferentes. Isso torna a criptografia mais segura, mas não a prova de quebras. Foco no login automático!</p>
<p><strong><span style="color: #3366ff;">3. Decriptografia</span></strong></p>
<p>Da mesma forma que criptografamos a informação é possível também descriptografar obtendo a mesma sentença inicial da forma que se segue.</p>
<pre lang="php">$crypt = Mage::getModel('core/encryption');
echo $crypt-&gt;decrypt("5skpZoWseMKdMgd/aOMLrXSVhLebaMUa");</pre>
<pre lang="php">[retornos]
Magento 1: i������o�Ǻ��f2g�
Magento 2: thiagão_boladão</pre>
<p><span style="color: #3366ff;"><strong><br />
4. Cryptografando e montando a URL</strong></span></p>
<p>O meu objetivo é criar um link que é enviado para o usuário contendo id do usuário como parametro, fácil de identificar quando tivermos o retorno, seu email ( para checarmos a autenticidade do link) e uma data de expiração tudo criptografado em um link. oO</p>
<p>Ao invés de o link ser ao do tipo:<br />
<em>http://meumagento.com.br/meucontroller/loga/?id=1&amp;email=5&amp;expira=2121214578</em> seria algo do tipo:<br />
<em>http://meumagento.com.br/meucontroller/loga/?c=5skpZoWseMKdMgd/aOVhLebaUa .</em></p>
<p>Pensei em concaternar os dados ao invés de cada dado ser um parâmetro diferente. Por tanto vou usar os dados concatenados separados por ponto e virgula (;). Assim no primeiro parametro fica o id, no segundo fica o email do usuário e no terceiro a data de validade do link:</p>
<p>ID do usuário; email do usuário; data de expiração do link</p>
<p>Passando isso pra código seria algo assim:</p>
<pre lang="php">$crypt = Mage::getModel('core/encryption');
$customer = Mage::getModel('customer/customer')-&gt;load(3);
//validade do link é de 48 horas
$timeout = time()+(60*60)*48;
$_crypted = $crypt-&gt;encrypt(
                            $customer-&gt;getId().";".
                            $customer-&gt;getEmail().";".
                            $timeout
                           );
//link
echo Mage::getUrl('meucontroller/loga', array('c' =&gt; $_crypted));</pre>
<pre lang="php">[deve ficar algo assim]
http://meumagento.com.br/meumodulo/meucontroller/loga/index/c/XvCfxYRNKYI9OsYPil1FgsDoi7x52+RaUdj4QoLHAaw=/</pre>
<p>Bem legal né?<br />
Só que se avaliarmos o nosso parametro c, vamos ver que há um &#8220;=&#8221; e um &#8220;+&#8221; na string, então pra não corremos o risco de uma deformação na nossa string antes de montar a url, vou colocar o url_encode. Ficando assim:</p>
<p>&nbsp;</p>
<pre lang="php">$crypt = Mage::getModel('core/encryption');
$customer = Mage::getModel('customer/customer')-&gt;load(3);
//validade do link é de 48 horas
$timeout = time()+(60*60)*48;
$_crypted = $crypt-&gt;encrypt(
                            $customer-&gt;getId().";".
                            $customer-&gt;getEmail().";".
                            $timeout
                           );
//link
echo Mage::getUrl('meucontroller/loga',
                   array('c' =&gt; url_encode($_crypted))
                  );</pre>
<pre lang="php">[deve ficar algo assim]
http://meumagento.com.br/meumodulo/meucontroller/loga/index/c/XvCfxYRNKYI9OsYPil1FgsDoi7x52%2BRavxAgdhTuSOI%3D/</pre>
<p>Só não podemos deixar de decodificar depois &#8230; :)<br />
Basicamente é isso fechamos essa etapa, temos ao final uma url com 3 parâmetros codificados e criptografados que será enviado pro usuário.</p>
<p><strong><span style="color: #3366ff;">5. Controller e a volta</span></strong></p>
<p>A volta é bem simples, com os conceitos de criptografar e decriptografar descritos a cima fica facil daqui em diante. O cliente acabou de clicar sobre o link que foi enviado e em seguida ele é direcionado para o seu controller &#8220;MeuController&#8221; no metodo &#8220;logaAction&#8221;. Esse post já está enorme, então vou me limitar ao metodo.</p>
<pre lang="php">public function logaAction(){

    $parametro = $this-&gt;getRequest()-&gt;getParam('c');
    $session = Mage::getSingleton('customer/session');

    if (!isset($parametro )) {
        $session-&gt;addError('URL inválida ou usuário inexistente.');
        $this-&gt;_redirect('/');
    }
    //0 - id //1 - email //2 - data de expiracao
    $csv = Mage::helper('carrinhoabandonado')-&gt;decrypt($parametro );
    $_customerinfo = explode(';', $csv);

    //ID do usuário
    $customerid = $_customerinfo[0];
    //email do usuário
    $customermemail = $_customerinfo[1];
    //Data de expiração do link
    $exp = $_customerinfo[2];

    //primeira coisa a ser feita aqui é validar a data do link
    if(time()&gt;$exp){
        $session-&gt;addError('URL inválida ou usuário inexistente.');
        $this-&gt;_redirect('/');
    }
    //Usuário existe?
    $customer = Mage::getModel('customer/customer')-&gt;load($customerid);
    if(!$customer-&gt;getId()){
        $session-&gt;addError('URL inválida ou usuário inexistente.');
        $this-&gt;_redirect('/');

    }
    //Data ok, usuário existe, validar o email do banco com o do parametro
    if($customer-&gt;getEmail() != $customeremail){
        $session-&gt;addError('URL inválida ou usuário inexistente.');
        $this-&gt;_redirect('/');
   }

   //Tudo OK!
   $session-&gt;logout();
   //Logando o usuário
   $session-&gt;setCustomer($customer);

   $this -&gt; _redirect('/');
}</pre>
<p>Auto explicativo?</p>
<p>Comentem e vamos fazer desde um post mais completo!</p>
<p>Quem quiser dar uma olhada no meu modulo de carrinho abandonado, e quiser fazer alguns relatórios :). Ele ta lá no <a title="Carrinho Abandonado" href="https://github.com/thiagosantos/Carrinho-Abandonado---Magento">GitHub</a> (<a href="https://github.com/thiagosantos/Carrinho-Abandonado---Magento">https://github.com/thiagosantos/Carrinho-Abandonado&#8212;Magento</a>). Para esse post usei parte de código do Carrinho Abandonado, mas a versão do post está bem explicado.</p>
<p><em>atualizado:</em><br />
<em>[29/03/2012 09:43] </em></p>
<p>The post <a href="https://thiagosantos.com/blog/306/php/magento-login-automatico/">Magento login automático</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/306/php/magento-login-automatico/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Adicionando campos customizados ao Customer no Magento</title>
		<link>https://thiagosantos.com/blog/325/php/adicionando-campos-customizados-ao-customer-no-magento/</link>
					<comments>https://thiagosantos.com/blog/325/php/adicionando-campos-customizados-ao-customer-no-magento/#comments</comments>
		
		<dc:creator><![CDATA[Pereira, Thiago Santos]]></dc:creator>
		<pubDate>Thu, 22 Dec 2011 14:17:41 +0000</pubDate>
				<category><![CDATA[Ecommerce]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[campos customizados]]></category>
		<category><![CDATA[campos magento]]></category>
		<category><![CDATA[customer]]></category>
		<guid isPermaLink="false">http://thiagosantos.com/blog/?p=325</guid>

					<description><![CDATA[<p>Adicionar um novo atributo(attribute) customizado(custom) para o cliente(custormer) no Magento nunca foi tão fácil, mas tenho que admitir que apanhei um pouco pra chegar nesse resultado final.</p>
<p>Basicamente o gostaria de fazer era adicionar um campo customizado ao customer do Magento e exibi-lo tanto no admin, quanto na página de registro e na página de informações do usuário o "Minha conta" (my account).</p>
<p>No exemplo que fiz aqui adicionei um campo customizado chamado CPF e o defini como obrigatório. A primeira parte desse código adiciona o atributo "cpf" ao cliente, ou seja cliente vai ter um atributo a mais. Além de nome, sobrenome ... e outras diversas informações, vai ter também o CPF.</p>
<p>The post <a href="https://thiagosantos.com/blog/325/php/adicionando-campos-customizados-ao-customer-no-magento/">Adicionando campos customizados ao Customer no Magento</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Adicionar um novo atributo(attribute) customizado(custom) para o cliente(custormer) no Magento nunca foi tão fácil, mas tenho que admitir que apanhei um pouco pra chegar nesse resultado final.</p>
<p>Basicamente o gostaria de fazer era adicionar um campo customizado ao customer do Magento e exibi-lo tanto no admin, quanto na página de registro e na página de informações do usuário o &#8220;Minha conta&#8221; (my account).</p>
<p>No exemplo que fiz aqui adicionei um campo customizado chamado CPF e o defini como obrigatório. A primeira parte desse código adiciona o atributo &#8220;cpf&#8221; ao cliente, ou seja cliente vai ter um atributo a mais. Além de nome, sobrenome &#8230; e outras diversas informações, vai ter também o CPF.</p>
<p><span id="more-325"></span></p>
<pre lang="php">$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup-&gt;removeAttribute('customer', "cpf" );

$setup-&gt;addAttribute('customer', 'cpf', array(
            'label'           =&gt; 'CPF',
            'type'            =&gt; 'varchar',
            'input'           =&gt; 'text',
            'visible'   =&gt; true,
            'required'  =&gt; true,
            'position'  =&gt; 69,
            )
      );</pre>
<p>A segunda parte define em quais formulários o atributo CPF deve aparecer. No meu caso é um campo importante por tanto coloquei-o disponível nos campos em &#8220;editar conta&#8221; ( em minha conta), criar conta (criar conta básico), informações da conta em cliente e na página de criar conta na página de checkout.</p>
<pre lang="php">$customerattribute = Mage::getModel('customer/attribute')-&gt;loadByCode('customer','cpf');
$forms             = array(
                           'customer_account_edit',
                           'customer_account_create',
                           'adminhtml_customer',
                           'checkout_register'
                          );
$customerattribute-&gt;setData('used_in_forms',$forms);
$customerattribute-&gt;save();</pre>
<p>O código acima adiciona automaticamente o campo CPF no formulário da informações da conta para o cliente(customer) no admin do Magento, já nos outros formulários os campos devem ser definidos manualmente lá nos .phtml que lhes cabe.</p>
<p>Vou começar colocando o campo CPF na página de registro, aquela básica que normalmente pede nome, sobrenome, email e senha. Nessa página vou adicionar esse novo campo. Trabalhando com o <strong>customer</strong> é de se esperar que encontraremos os arquivos que queremos editar dentro da pasta &#8220;../template/customer/&#8221; dentro do seu tema, se por acaso o seu tema não tiver essa pasta copia a do &#8220;./frontend/base/default/template/customer/&#8221; para a pasta template do seu do seu tema.</p>
<p>O primeiro arquivo que vou editar é o register.phtml que você encontra em,<strong>./app/design/frontend/default/&lt;seu_tema&gt;/template/customer/form/register.phtml</strong>, ou em <strong>./app/design/frontend/default/&lt;seu_tema&gt;/template/<span style="color: #0000ff;">persistent</span>/customer/form/register.phtml</strong>, logo abaixo do &lt;li&gt; que define o espaço do do email coloque</p>
<pre>&lt;li&gt;
&lt;label class="required" for="cpf"&gt;&lt;em&gt;*&lt;/em&gt;
&lt;?php echo $this-&gt;__('CPF') ?&gt;
&lt;/label&gt;
&lt;div class="input-box"&gt;
&lt;input id="cpf" class="input-text required-entry"
title="&lt;?php echo $this-&gt;__('CPF') ?&gt;" type="text" name="cpf"
value="&lt;?php echo $this-&gt;htmlEscape($this-&gt;getFormData()-&gt;getCpf()) ?&gt;" /&gt;
&lt;/div&gt;
&lt;/li&gt;</pre>
<p>Pra ver esse novo campo, atualize o cache do seu Magento e entre no URL referente a sua instalação, como segue o exemplo: <span style="color: #00ccff;">http://exemplo.org.br/customer/account/create/<span style="color: #000000;">,</span> <span style="color: #000000;">e veja o seu novo campo lá.</span></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<figure id="attachment_367" aria-describedby="caption-attachment-367" style="width: 911px" class="wp-caption alignleft"><a href="http://thiagosantos.com/blog/325/php/adicionando-campos-customizados-ao-customer-no-magento/attachment/create_account_magento/" rel="attachment wp-att-367"><img loading="lazy" decoding="async" class="size-full wp-image-367" title="Campo CPF no Magento na página criar conta/account create, Custom Attribute" src="http://thiagosantos.com/blog/wp-content/uploads//2011/12/create_account_magento.png" alt="Campo CPF no Magento na página criar conta/account create, Custom Attribute" width="911" height="265" srcset="https://thiagosantos.com/blog/wp-content/uploads/2011/12/create_account_magento.png 911w, https://thiagosantos.com/blog/wp-content/uploads/2011/12/create_account_magento-300x87.png 300w, https://thiagosantos.com/blog/wp-content/uploads/2011/12/create_account_magento-500x145.png 500w" sizes="(max-width: 911px) 100vw, 911px" /></a><figcaption id="caption-attachment-367" class="wp-caption-text">Campo CPF no Magento na página criar conta/account create, atributo customizado.</figcaption></figure>
<p>&nbsp;</p>
<p>Para disponibilizar esse campo para o seu cliente de forma que ele possa editar o passo a passo é semelhante, mas o arquivo é o edit.phtml. Encontrado em <strong>./app/design/frontend/default/&lt;seu_tema&gt;/template/customer/form/edit.phtml.</strong> Novamente logo abaixo o &lt;li&gt; do email coloque o código abaixo</p>
<pre>&lt;li&gt;
&lt;label for="cpf" class="required"&gt;&lt;em&gt;*&lt;/em&gt;
&lt;?php echo $this-&gt;__('CPF') ?&gt;
&lt;/label&gt;
&lt;div class="input-box"&gt;
&lt;input type="text" name="cpf" id="cpf"
value="&lt;?php echo $this-&gt;htmlEscape($this-&gt;getCustomer()-&gt;getCpf()) ?&gt;"
 title="&lt;?php echo $this-&gt;__('CPF') ?&gt;" class="input-text required-entry" /&gt;
&lt;/div&gt;
&lt;/li&gt;</pre>
<p>Deve ficar mais ou menos assim</p>
<figure id="attachment_360" aria-describedby="caption-attachment-360" style="width: 697px" class="wp-caption alignleft"><a href="http://thiagosantos.com/blog/325/php/adicionando-campos-customizados-ao-customer-no-magento/attachment/edit_account_information_magento/" rel="attachment wp-att-360"><img loading="lazy" decoding="async" class="size-full wp-image-360" title="Campo CPF no Magento, Custom Attribute" src="http://thiagosantos.com/blog/wp-content/uploads//2011/12/edit_account_information_magento.png" alt="Novo campo de CPF Magento" width="697" height="264" srcset="https://thiagosantos.com/blog/wp-content/uploads/2011/12/edit_account_information_magento.png 697w, https://thiagosantos.com/blog/wp-content/uploads/2011/12/edit_account_information_magento-300x113.png 300w, https://thiagosantos.com/blog/wp-content/uploads/2011/12/edit_account_information_magento-500x189.png 500w" sizes="(max-width: 697px) 100vw, 697px" /></a><figcaption id="caption-attachment-360" class="wp-caption-text">Campo de CPF Magento, usando o passo a passo a cima.</figcaption></figure>
<p>Nesse ponto já disponibilizei o campo obrigatório no registro e para editar em informações da conta na sessão minha conta do cliente.</p>
<p>Até o próximo post, e que leve menos tempo do que esse!<br />
:)</p>
<p>Referencia:</p>
<p><a href="http://www.blog.jpk.in/2011/08/05/magento-add-custom-field-to-customer-account-form-in-admin-from-version-1-5/">http://www.blog.jpk.in/2011/08/05/magento-add-custom-field-to-customer-account-form-in-admin-from-version-1-5/</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://thiagosantos.com/blog/325/php/adicionando-campos-customizados-ao-customer-no-magento/">Adicionando campos customizados ao Customer no Magento</a> appeared first on <a href="https://thiagosantos.com/blog">Pereira, Thiago Santos.</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://thiagosantos.com/blog/325/php/adicionando-campos-customizados-ao-customer-no-magento/feed/</wfw:commentRss>
			<slash:comments>27</slash:comments>
		
		
			</item>
	</channel>
</rss>
