Eu tenho o Magento CE 1.9.2.4 instalado junto com os patches (5377,1533,4788 etc. quase todos os patches).
Esta pergunta também revela problemas que podem / certamente ocorrer em qualquer módulo personalizado que envolva upload de imagens em suas seções personalizadas, em vez de apenas problemas principais do magento.
- Agora, depois de instalar o patch 8788 mais recente por meio da linha de comando, não consigo abrir a página "Adicionar / Editar" do meu módulo personalizado, que estava funcionando bem antes da instalação do 8788.
Estou recebendo o erro abaixo quando tento abrir a página "Adicionar novo banner" do meu módulo:
Erro fatal: chame uma função de membro setUrl () em um não-objeto em /home/site_user/public_html/app/code/community/My/Module/Block/Adminhtml/Banner/Add/Tab/Image.php na linha 57
A linha culpada é a seguinte:
$this->getUploader()->getConfig()->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/image'))
- Também não consigo ver as imagens dos produtos enviadas na
Catalog > Manage Products > Any product > Images
seção admin .
Abaixo está a Mage_Adminhtml_Block_Media_Uploader
classe principal que está sendo chamada.
<?php
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magento.com for more information.
*
* @category Mage
* @package Mage_Adminhtml
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Adminhtml media library uploader
*
* @category Mage
* @package Mage_Adminhtml
* @author Magento Core Team <[email protected]>
*/
/**
* @deprecated
* Class Mage_Adminhtml_Block_Media_Uploader
*/
class Mage_Adminhtml_Block_Media_Uploader extends Mage_Uploader_Block_Multiple
{
/**
* Constructor for uploader block
*/
public function __construct()
{
parent::__construct();
$this->getUploaderConfig()->setTarget(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/upload'));
$this->getUploaderConfig()->setFileParameterName('file');
}
}
Alguém me deve saber como corrigir isso com o mínimo possível de alterações de código.
fonte
getUploader
método, por favor?Respostas:
Mage_Adminhtml_Block_Media_Uploader
foi descontinuado após SUPEE-8788 (e 1.9.3). Portanto, existem várias alterações de incompatibilidade com versões anteriores que quebram o módulo usando o carregador.Primeiro pensei que uma pequena mudança iria consertar, mas na verdade há muito mais a fazer.
Torne um módulo usando a galeria compatível com 1.9.2 e 1.9.3
Portanto, se você é um provedor de módulos, não deseja ter duas versões diferentes do seu módulo para 1.9.2 e 1.9.3. Veja como tornar seu código compatível com ambos:
No seu
_prepareLayout
método de bloqueio , você precisa fazer o seguinte:Substituir:
Com:
Como você pode ver, estou usando
class_exists
para verificar se o SUPEE-8788 ou o Magento 1.9.3 é aplicado.Em seguida,
gallery.phtml
você precisa substituir:Com:
Em seguida, para o arquivo de layout, você pode fazer o seguinte:
Substitua
module
pelo identificador da classe auxiliar e, noData.php
auxiliar do módulo, adicione o seguinte:fonte
setUrl
mude comsetTarget
.adicionando a resposta @Raphael, você precisa adicionar três correções
primeira correção
Nome do espaço_Moduelname_Block_Adminhtml_Modulename_Edit_Tab_Images.php
Segundo correção no adminhtml / default / default / modulename / gallery.phtml arquivo
terceiro corrija o layout da peça js / module.xml
arquivos para corrigir loaction
primeira correção app / code / core / Mage / Adminhtml / Block / Catalog / Product / Helper / Form / Gallery / Content.php
segunda correção app / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml
fonte
Corrigido - Problema de upload de imagem após a instalação do PATCH 8788 da Magento versão CE 1.7.0.2 - 1.9.2.4.
fonte
Eu estava enfrentando o mesmo caso de problema 2. No meu caso, foi causado por esse arquivo ser substituído por um módulo personalizado:
app / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml
Eu sugiro que você verifique se você tem um modelo semelhante substituindo o modelo para esse bloco
Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content
e, se for o caso, aplique oSupee-8788
patch ao arquivo de substituição.fonte