J'ai Magento CE 1.9.2.4 installé avec les correctifs (5377, 1533, 4788, etc. presque tous les correctifs).
Cette question révèle également des problèmes qui peuvent / sûrement se produire dans n'importe quel module personnalisé impliquant des téléchargements d'images dans leurs sections personnalisées, plutôt que des problèmes de base avec Magento.
- Maintenant, après avoir installé le dernier correctif 8788 via la ligne de commande, je ne suis pas en mesure d'ouvrir la page "Ajouter / Modifier" de mon module personnalisé, qui fonctionnait bien avant l'installation 8788.
Je reçois une erreur ci-dessous lorsque j'essaie d'ouvrir la page "Ajouter une nouvelle bannière" de mon module:
Erreur fatale: appel à une fonction membre setUrl () sur un non-objet dans /home/site_user/public_html/app/code/community/My/Module/Block/Adminhtml/Banner/Add/Tab/Image.php sur la ligne 57
La ligne coupable est la suivante:
$this->getUploader()->getConfig()->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/image'))
- De plus, je ne peux pas voir les images de produits déjà téléchargées dans la
Catalog > Manage Products > Any product > Images
section admin .
Vous trouverez ci-dessous la Mage_Adminhtml_Block_Media_Uploader
classe principale appelée.
<?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');
}
}
N'importe qui m'a fait savoir comment résoudre ce problème avec le moins de modifications de code possible.
la source
getUploader
méthode s'il vous plaît?Réponses:
Mage_Adminhtml_Block_Media_Uploader
est déconseillé après SUPEE-8788 (et 1.9.3). Ainsi, il y a plusieurs changements d'incompatibilité en arrière qui cassent le module en utilisant l'uploader.J'ai d'abord pensé qu'un petit changement le corrigerait mais il y a en fait beaucoup plus à faire.
Rendre un module utilisant la galerie compatible avec 1.9.2 et 1.9.3
Donc, si vous êtes un fournisseur de modules, vous ne voulez pas avoir deux versions différentes de votre module pour 1.9.2 et 1.9.3. Voici comment rendre votre code compatible avec les deux:
Dans votre
_prepareLayout
méthode de blocage , vous devez effectuer les opérations suivantes:Remplacer:
Avec:
Comme vous pouvez le voir, j'utilise
class_exists
pour vérifier si SUPEE-8788 ou Magento 1.9.3 est appliqué.Ensuite, dans votre,
gallery.phtml
vous devez remplacer:Avec:
Ensuite, pour le fichier de mise en page, vous pouvez le faire comme ceci:
Remplacez
module
par votre identifiant de classe d'assistance et dans votreData.php
aide de module, ajoutez ce qui suit:la source
setUrl
changer aussi avecsetTarget
.en ajoutant la réponse @Raphael, vous devez ajouter trois correctifs
premier correctif
Spacename_Moduelname_Block_Adminhtml_Modulename_Edit_Tab_Images.php
Deuxième solution dans adminhtml / default / default / modulename / gallery.phtml fichier
troisième correction de la mise en page de la partie js / module.xml
fichiers pour corriger la loaction
premier correctif app / code / core / Mage / Adminhtml / Block / Catalog / Product / Helper / Form / Gallery / Content.php
deuxième correctif app / design / adminhtml / default / default / template / catalogue / product / helper / gallery.phtml
la source
Corrigé - Problème de téléchargement d'image après l'installation de PATCH 8788 de la version Magento CE 1.7.0.2 - 1.9.2.4.
la source
Je rencontrais le même cas de problème 2. Dans mon cas, il était dû au fait que ce fichier était écrasé par un module personnalisé:
app / design / adminhtml / default / default / template / catalogue / product / helper / gallery.phtml
Je vous suggère de vérifier si vous avez un modèle similaire remplaçant le modèle de ce bloc
Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content
et si c'est le cas, appliquez leSupee-8788
correctif au fichier de remplacement.la source