私が持っているMagentoのCE 1.9.2.4が一緒にインストールされたパッチ(5377,1533,4788など、ほぼすべてのパッチを)。
この質問は、コアセクションのmagentoの問題だけでなく、カスタムセクションでの画像のアップロードを含むカスタムモジュールで発生する可能性のある問題も明らかにします。
- コマンドラインから最新のパッチ8788をインストールした後、カスタムモジュールの[追加/編集]ページを開くことができなくなりました。これは8788のインストール前は問題なく機能していました。
モジュールの「Add New Banner」ページを開こうとすると、以下のエラーが発生します。
致命的なエラー:/home/site_user/public_html/app/code/community/My/Module/Block/Adminhtml/Banner/Add/Tab/Image.phpの57行目の非オブジェクトに対するメンバー関数setUrl()の呼び出し
原因は次のとおりです。
$this->getUploader()->getConfig()->setUrl(Mage::getModel('adminhtml/url')->addSessionParam()->getUrl('*/*/image'))
- また、管理
Catalog > Manage Products > Any product > Images
セクションにアップロード済みの製品画像が表示されません。
以下は、Mage_Adminhtml_Block_Media_Uploader
呼び出されるコアクラスです。
<?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 license@magento.com 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 <core@magentocommerce.com>
*/
/**
* @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');
}
}
誰でも私に、最小限のコード変更でこれを修正する方法を教えてくれました。
getUploader
メソッドの内容を投稿していただけませんか?