Tengo instalado Magento CE 1.9.2.4 junto con parches (5377,1533,4788, etc., casi todos los parches).
Esta pregunta también revela problemas que pueden ocurrir / seguramente en cualquier módulo personalizado que involucre cargas de imágenes en sus secciones personalizadas, en lugar de solo problemas centrales de magento.
- Ahora, después de instalar el último parche 8788 a través de la línea de comandos, no puedo abrir la página "Agregar / Editar" de mi módulo personalizado, que funcionaba bien antes de la instalación de 8788.
Recibo el siguiente error cuando intento abrir la página "Agregar nuevo banner" de mi módulo:
Error fatal: Llamar a una función miembro setUrl () en un no objeto en /home/site_user/public_html/app/code/community/My/Module/Block/Adminhtml/Banner/Add/Tab/Image.php en la línea 57
La línea del culpable es la siguiente:
$this->getUploader()->getConfig()->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/image'))
- Además, no puedo ver imágenes de productos ya cargadas en la
Catalog > Manage Products > Any product > Images
sección de administración .
A continuación se muestra la Mage_Adminhtml_Block_Media_Uploader
clase principal que se llama.
<?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');
}
}
Alguien me dejó saber cómo solucionar esto con el menor cambio de código posible.
fuente
getUploader
método por favor?Respuestas:
Mage_Adminhtml_Block_Media_Uploader
está en desuso después de SUPEE-8788 (y 1.9.3). Por lo tanto, hay varios cambios de incompatibilidad hacia atrás que rompen el módulo utilizando el cargador.Primero pensé que un pequeño cambio lo arreglaría, pero en realidad hay mucho más por hacer.
Hacer un módulo usando la galería compatible con 1.9.2 y 1.9.3
Entonces, si es un proveedor de módulos, no desea tener dos versiones diferentes de su módulo para 1.9.2 y 1.9.3. Aquí le mostramos cómo hacer que su código sea compatible con ambos:
En su
_prepareLayout
método de bloqueo , debe hacer lo siguiente:Reemplazar:
Con:
Como puede ver, estoy usando
class_exists
para verificar si se aplica SUPEE-8788 o Magento 1.9.3.Luego, en su
gallery.phtml
necesita reemplazar:Con:
Luego, para el archivo de diseño, puede hacerlo así:
Reemplace
module
con su identificador de clase auxiliar y en suData.php
auxiliar de módulo agregue lo siguiente:fuente
setUrl
cambia consetTarget
.agregando @Raphael answer necesita agregar tres correcciones
primer arreglo
Spacename_Moduelname_Block_Adminhtml_Modulename_Edit_Tab_Images.php
En segundo lugar fijo en adminhtml / default / default / modulename / gallery.phtml archivo
tercero arregle el diseño de la parte js / module.xml
archivos para arreglar loaction
primer arreglo / code / core / Mage / Adminhtml / Block / Catalog / Product / Helper / Form / Gallery / Content.php
aplicación de segundo arreglo / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml
fuente
Solucionado - Problema de carga de imagen después de la instalación de PATCH 8788 de Magento versión CE 1.7.0.2 - 1.9.2.4.
fuente
Estaba experimentando el mismo Caso de problema 2. En mi caso, fue causado por la sobrescritura de este archivo por un módulo personalizado:
app / design / adminhtml / default / default / template / catalog / product / helper / gallery.phtml
Le sugiero que verifique si tiene una plantilla similar que sobrescribe la plantilla para ese bloque
Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content
y, si ese es el caso, aplique elSupee-8788
parche al archivo de sobrescritura.fuente