1

/admin の OpenCart v. 2.0.0 では、注文を受け取ったときに注文のステータスを変更して、購入の状況を顧客に知らせることができるはずです。この機能は「履歴」タブにあります。残念ながら、注文を変更または修正することはできません。ステータスを変更して保存しようとすると、Openart でエラーが発生します。

SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data OK

クリーンインストールでも発生。すべてが正しく設定されています - ドメイン名は問題ありません。ショップはメンテナンス モードではなく、.htaccess ファイルにパスワードがありません (削除しても問題は解決しません)。

添付のスクリーンショットのように見えます。ここに画像の説明を入力

1 つの解決策は、この記事を書いている時点で最新バージョンの OpenCart 2.0.1.1 をインストールすることです。それはおそらく最良のアイデアです。

私の問題は、かなり多くの変更を加えたことであり、それは私にとって非常に難しいことです. 変更を加えたとき、おそらく使用すべき vqmod を使用しませんでした (しかし、誰も完璧ではありません。そうではありませんか?)。それとも、別の理由でアップグレードを行いたくないですか?

では、実際にソフトウェア自体を変更せずにこの問題を解決するにはどうすればよいでしょうか。

4

7 に答える 7

4

同じエラーが発生し、修正しました:

  1. [管理] -> [システム] -> [ユーザー] -> [API] に移動します
  2. 新しい API 生成パスワードを追加し、有効にします
  3. 次に、[管理] -> [システム] -> [設定] -> [編集] -> [オプション] (タブ) に移動します。
  4. API ユーザーとして [チェックアウト] セクションで API ユーザーを選択します。
  5. 次に、変更を保存します
  6. 次に、販売 -> 注文 -> 編集に移動します。
于 2015-02-11T08:30:24.367 に答える
2

苦労の末、この問題を解決することができました。この解決策をあなたと共有したいと思います。

ショップの管理パネルで、次の場所に移動します。

Admin > Settings > Users > API

次のような名前のユーザーが 1 人いるはずです

XrpeYEWrFHOcqB1phjBXdUCRO1A3sCvDpgmTGBcJ7G6WuYIMKXCrIJUpzvFPfimWT6LHQLisTYz0nuOy7ZK

存在しない場合は作成し、例のようにかなり複雑な名前を付けます。

次に、ストアデータを保持するデータベースをチェックアウトする必要があります (phpMyAdmin を使用すると非常に役立ちます)。

  1. API ユーザーを含むapiテーブルを見つけ、このユーザーの api_id を確認します。
  2. テーブル設定(デフォルトでは OpenCart インストールではoc_settingという名前) を見つけ、キーconfig_api_idを見つけます。
  3. 値フィールドを、 apiテーブルで見つけたapi_idと同じ数値に設定します。
  4. 問題を解決する必要があります。

私の OpenCart 2.0.0 のインストールでは、値は 0 に設定されていましたが、api_id は 2 でした。

于 2015-01-01T16:49:23.770 に答える
2

私は同じ問題を抱えていて、考えられるすべての回避策を試しました。

結局あきらめて、私のホスティング プロバイダーに電話しました。彼らは、OpenCart が 5.4.33 より上のどの PHP バージョンでも適切に動作しないことを発見しました。エルゴ: php 5.4.33 を使用

これですべての問題が解決するわけではないか、上記の他の修正と組み合わせてのみ機能する可能性がありますが、ホスティングでデフォルトで実行されている PHP のバージョンを確認してみる価値はあります。

于 2015-03-29T13:26:36.763 に答える
2

メンテナンスモードを無効にするとうまくいきました。

于 2015-04-22T07:35:48.330 に答える
1

admin/controller/sale/order.php ファイルの行 2438 の下には、次のように表示されます。

    if ($store_info) {
        $url = $store_info['ssl'];
    } else {
        $url = HTTPS_CATALOG;
    }

ご覧のとおり、CURL は常に、ショップの SSL URL を含む HTTPS_CATALOG で定義された定数を使用します。なんで?今はありません。解決策: ショップのルート フォルダーで config.php を編集し、HTTPS_CATALOG で定義された定数値を非 ssl URL に変更します。https の末尾の "s" を削除するだけです。

于 2015-05-04T17:22:34.837 に答える