Saya memiliki Magento CE 1.9.2.4 diinstal bersama dengan tambalan (5377.1533.478 dll. Hampir semua tambalan).
Pertanyaan ini juga mengungkapkan masalah yang mungkin / pasti terjadi dalam modul khusus apa pun yang melibatkan unggahan Gambar di bagian khusus mereka, bukan hanya masalah inti magento.
- Sekarang setelah saya menginstal patch 8788 terbaru melalui command-line, saya tidak dapat membuka halaman "Tambah / Edit" pada modul kustom saya, yang berfungsi dengan baik sebelum instalasi 8788.
Saya mendapatkan kesalahan di bawah ini ketika saya mencoba membuka halaman "Tambahkan Banner Baru" dari modul saya:
Kesalahan fatal: Panggil ke fungsi anggota setUrl () pada non-objek di /home/site_user/public_html/app/code/community/My/Module/Block/Adminhtml/Banner/Add/Tab/Image.php di baris 57
Garis penyebabnya adalah sebagai berikut:
$this->getUploader()->getConfig()->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/image'))
- Juga saya tidak dapat melihat gambar produk yang sudah diunggah di
Catalog > Manage Products > Any product > Images
bagian admin .
Di bawah ini adalah Mage_Adminhtml_Block_Media_Uploader
kelas inti yang dipanggil.
<?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');
}
}
Siapa pun beri tahu saya cara memperbaikinya dengan perubahan kode sesedikit mungkin.
sumber
getUploader
metode ini?Jawaban:
Mage_Adminhtml_Block_Media_Uploader
tidak digunakan lagi setelah SUPEE-8788 (dan 1.9.3). Dengan demikian ada beberapa perubahan inkompatibilitas mundur yang memecah modul menggunakan pengunggah.Saya pertama kali berpikir perubahan kecil akan memperbaikinya tetapi sebenarnya ada lebih banyak yang harus dilakukan.
Buat modul menggunakan galeri yang kompatibel dengan 1.9.2 dan 1.9.3
Jadi, jika Anda penyedia modul, Anda tidak ingin memiliki dua versi modul yang berbeda untuk 1.9.2 dan 1.9.3. Berikut cara membuat kode Anda kompatibel dengan keduanya:
Dalam
_prepareLayout
metode blok Anda, Anda perlu melakukan hal berikut:Menggantikan:
Dengan:
Seperti yang Anda lihat saya gunakan
class_exists
untuk memeriksa apakah SUPEE-8788 atau Magento 1.9.3 diterapkan.Kemudian di Anda,
gallery.phtml
Anda perlu mengganti:Dengan:
Kemudian untuk file tata letak, Anda dapat melakukannya seperti ini:
Ganti
module
dengan pengidentifikasi kelas helper Anda dan diData.php
helper modul Anda tambahkan berikut ini:sumber
setUrl
berubah dengansetTarget
.menambahkan jawaban @Raphael Anda perlu menambahkan tiga perbaikan
perbaikan pertama
Spacename_Moduelname_Block_Adminhtml_Modulename_Edit_Tab_Images.php
Kedua memperbaiki dalam adminhtml / default / default / modulename / gallery.phtml berkas
memperbaiki ketiga tata letak bagian js / module.xml
file untuk memperbaiki loaction
perbaiki aplikasi / kode / inti / Mage / Adminhtml / Blok / Katalog / Produk / Pembantu / Formulir / Galeri / Content.php
aplikasi / desain / adminhtml / default / default / templat / katalog / produk / helper / gallery.phtml perbaikan kedua
sumber
Memperbaiki - Masalah Pengunggahan Gambar setelah PATCH 8788 menginstal Magento versi CE 1.7.0.2 - 1.9.2.4.
sumber
Saya mengalami kasus Masalah Anda yang sama 2. Dalam kasus saya itu disebabkan oleh file ini ditimpa oleh modul khusus:
app / design / adminhtml / default / default / template / katalog / produk / helper / gallery.phtml
Saya sarankan Anda memeriksa untuk melihat apakah Anda memiliki template yang mirip menimpa template untuk blok itu
Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content
dan jika itu masalahnya, terapkanSupee-8788
tambalan ke file overwriting.sumber