0

[システム] > [構成] > [詳細設定] > [システム] にアクセスしようとすると、このエラーが発生します

致命的なエラー: 421 行目の /home/server/public_html/store/app/code/core/Mage/Adminhtml/Block/System/Config/Form.php の非オブジェクトに対するメンバー関数 toOptionArray() の呼び出し

私はこの答えを見つけました:致命的なエラー: メンバー関数 toOptionArray() への呼び出し

ただし、その回答に従って置き換える必要があるコードは、そのファイル (Form.php) のコードとは異なります。

         if ($method) {
                if ($fieldType == 'multiselect') {
                    $optionArray = $sourceModel->$method();
                } else {
                    $optionArray = array();
                    foreach ($sourceModel->$method() as $value => $label) {
                        $optionArray[] = array('label' => $label, 'value' => $value);
                    }
                }
            } else {
                $optionArray = $sourceModel->toOptionArray($fieldType == 'multiselect');
            }
            $field->setValues($optionArray);
        }
    }
}
return $this;

何か案は?ありがとう!

4

2 に答える 2

1

Form.php の 398 行目から 425 行目までを見ると、ほとんど同じコードになっています。回答のコードは修正ではなく、実際の問題を特定するのに役立つため、そのコードを使用できます。

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

And then you would have to look into the Magento log file to see what happened. Also you can try to log debug_print_backtrace(); Probably your problem comes from a badly written extension.

于 2012-06-05T13:24:44.573 に答える
0

次の手順でエラーを解決する必要があります:-

  1. コンパイルを無効にする( System -> Tools -> Compilation)
  2. キャッシュの更新( System -> Cache Management)
于 2016-06-09T11:54:47.283 に答える