Provavelmente nada, porque a chave do formulário é aleatória, portanto, deve ser diferente a cada vez.
Portanto, não deve fazer diferença, mas a melhor prática, como você deve adicionar a entrada da chave do formulário ao seu modelo, é esta:
<?php echo $this->getBlockHtml('formkey') ?>
Atualização: Eu tenho que admitir, eu estava errado em um ponto: a chave do formulário permanece a mesma durante uma sessão. Se você tiver uma chave de formulário diferente em páginas diferentes, isso pode ser um problema com um cache de página inteira de terceiros que inclui a chave de formulário no cache (o que não deveria) ou a chave de formulário está dentro de um bloco personalizado que está usando o bloco cache. Para o último, encontrei uma solução: Blocos de cache que contêm form_key (ou seja, conteúdo dinâmico)
getBlockHtml()
é implementado emMage_Core_Block_Abstract
eoformkey
bloco é definido embase/default/layout/core.xml
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>"/>
. Parece consertar, mas ainda assim frustrante. Existe uma maneira melhor.Eu sei que essa vaga pergunta não deve ser respondida. No entanto, talvez eu tenha encontrado um problema semelhante aqui, foi o que aprendi:
Portanto, com base no pequeno exemplo , substituí a ação de checkout addtocart como esta em um novo módulo:
app / code / local / Name / Checkout / controllers / CartController.php
app / code / local / Name / Checkout / etc / config.xml
app / etc / modules / Name_Checkout.xml
Espero que isso seja extensivamente suficiente para que todos possam recriar esse
fonte
Não posso comentar, por isso estou respondendo. Não adicione a chave de formulário no controlador. Desativa os benefícios de segurança da chave do formulário. Se você estiver usando o Varnish, poderá usar o ESI (Inclusão do lado da borda) para adicionar a chave. Você precisará salvá-lo em um cookie para que isso funcione.
fonte