1

支払い方法を設定すると、支払いインターフェイスでこのエラーが発生します

'USD', 'label'=>Mage::helper('adminhtml')->__('USD')), array('value' => 'EUR', 'label'=>Mage::helper('adminhtml')->__('EUR')), ); } } ?> 
Fatal error: Call to a member function toOptionArray() on a non-object in C:\xampp\htdocs\pjsnorge2\app\code\core\Mage\Adminhtml\Block\System\Config\Form.php on line 399

そして processingCurrency.php で

class Gspay_Redirect_Model_ProcessingCurrency
{
    public function toOptionArray()
    {
        return array(
            array('value' => 'USD', 'label'=>Mage::helper('adminhtml')->__('USD')),
            array('value' => 'EUR', 'label'=>Mage::helper('adminhtml')->__('EUR')),
        );
    }

}

ご協力いただきありがとうございます

4

2 に答える 2

0

このファイルapp/code / core / Mage / Adminhtml / Block / System / Config / Form.phpで、上記の@ILLAが応答する次のコードを変更すると、完全に機能します。

if ($e->source_model) 
{
 $sourceModel = Mage::getSingleton((string)$e->source_model);
 if ($sourceModel instanceof Varien_Object) 
 {
  $sourceModel->setPath($path);
 }

 if(is_object($sourceModel))
 {
  if (method_exists($sourceModel, "toOptionArray"))
  {
   $field->setValues($sourceModel->toOptionArray($fieldType == 'multiselect'));
  }
 } 
 else 
 {
  Mage::log($e->source_model);
 }
} 
于 2013-02-22T05:29:10.150 に答える
0

上記のエラーを解決します。上記のパスファイルを開いてください。

if ($e->source_model) {
$sourceModel = Mage::getSingleton((string)$e->source_model);
if ($sourceModel instanceof Varien_Object) {
$sourceModel->setPath($path);
}
$field->setValues($sourceModel->toOptionArray($fieldType == 'multiselect'));
}

上記のコードを以下に置き換えます。

if ($e->source_model) {
$sourceModel = Mage::getSingleton((string)$e->source_model);
if ($sourceModel instanceof Varien_Object) {
$sourceModel->setPath($path);
}
if(is_object($sourceModel)){
$field->setValues($sourceModel->toOptionArray($fieldType == 'multiselect'));
} else {
Mage::log($e->source_model);
}
} 

このリンクを参照してください。

于 2012-10-15T08:31:59.847 に答える