Não sei como atualizar os módulos personalizados para trabalhar com o patch SUPEE-6788 , as instruções não são muito claras.
Baseado no tutorial de Alan Storm , criei um módulo simples no gerador www.silksoftware.com/magento-module-creator/ para teste. Ele possui uma página personalizada no admin que funciona perfeitamente, mas quando aplico as correções necessárias no SUPEE-6788, a página do administrador mostra um erro 404.
O URL da página de administração personalizada é:
localhost / index.php / admin / admin_adminhello / adminhtml_adminhellobackend / index / key / 83f08ec4bddff37e47412e16acc8d3f6 /
Aqui está a configuração do módulo:
<config>
<modules>
<Pulsestorm_Adminhello>
<version>0.1.0</version>
</Pulsestorm_Adminhello>
</modules>
<global>
<helpers>
<adminhello>
<class>Pulsestorm_Adminhello_Helper</class>
</adminhello>
</helpers>
<blocks>
<adminhello>
<class>Pulsestorm_Adminhello_Block</class>
</adminhello>
</blocks>
</global>
<admin>
<routers>
<adminhello>
<use>admin</use>
<args>
<module>Pulsestorm_Adminhello</module>
<frontName>admin_adminhello</frontName>
</args>
</adminhello>
</routers>
</admin>
...
Aqui está o controlador:
/app/code/local/Pulsestorm/Adminhello/controllers/Adminhtml/AdminhellobackendController.php
class Pulsestorm_Adminhello_Adminhtml_AdminhellobackendController extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
$this->loadLayout();
$this->_title($this->__("My Test Page Title"));
$this->renderLayout();
}
}
Solução
Substituí a <routers>
peça com base nas instruções do patch assim (provavelmente incorretamente):
<routers>
<adminhtml>
<args>
<modules>
<admin_adminhello after="Mage_Adminhtml">Pulsestorm_Adminhello_Adminhtml</admin_adminhello>
</modules>
</args>
</adminhtml>
</routers>
Mas agora o URL mostra apenas 404 error
:
localhost / index.php / admin / admin_adminhello / adminhtml_adminhellobackend / index / key / 83f08ec4bddff37e47412e16acc8d3f6 /
Como consertar o módulo corretamente para esse novo patch? Eu só preciso atualizar config.xml
ou também preciso alterar o URL da página de administração depois de aplicar este patch?
Perdi horas descobrindo isso. Só porque os Devs do Magento não são capazes de fazer uma configuração compreensível, ou mesmo documentar seu código de uma maneira que um ser humano possa lê-lo.
Vamos dar uma olhada no config.xml primeiro
Todo o significado das Tags foi alterado. A tag em "módulos" é apenas um nome aleatório. você só precisa garantir que seja exclusivo para garantir que não seja sobrescrito quando o XML for compilado. Tem influência na URL.
Agora, o Magento espera que você mova suas classes de controlador de back-end para uma nova subpasta chamada "adminhtml". É por isso que no config.xml você precisa alterar o sufixo do nome da classe adicionando _Adminhtml .
No seu caso, a pasta estaria localizada em
Agora o verdadeiro problema. Usando o outro sistema (melhor), você tinha seu próprio espaço para nome definido usando a tag "FrontName". Você não tem mais esse luxo e precisa garantir que seu controlador tenha um nome único. Caso contrário, entraria em conflito com outras extensões. Portanto, os controladores denominados "AdminController.php" não são mais bons, você precisa torná-lo algo específico do projeto, como no seu caso " AdminhelloController.php "
Seu URL mudará para
Não se esqueça de ajustar o nome da classe do controlador após renomear ou mover o arquivo
Nesse caso, o nome seria Pulsestorm_Adminhello_Adminhtml_AdminhellobackendController
Obviamente, você também deve ajustar os URLs usados nos itens de menu e formulários usados no back-end
Verifique também se você ativou o Modo de desenvolvedor no arquivo index.php . Notei que se o controlador tiver algum bug, você também receberá um 404. No modo Develeport, você recebe um erro do Stacktrace.
O que eu também faria é escrever um log assim que o controlador for chamado, apenas para que você veja se o método do controlador foi acessado.
fonte
Pulsestorm_Adminhello_Adminhtml
em config.xml. Você também precisa atualizar quaisquer identificadores de layout de administrador e chamadas para gerar URLs de administradorgetUrl()
.Aqui está uma ferramenta de análise / correção para conflitos de extensão e customização resultantes do patch Magento SUPEE-6788.
https://github.com/rhoerr/supee-6788-toolbox
Nota: Antes de aplicar qualquer patch ou correção, é sempre recomendável fazer backup do seu site e banco de dados.
Você só pode analisar o que precisa ser corrigido.
OU, você pode aplicar as alterações / correções também.
fonte