1

私はmagentoストアの問題で立ち往生しています。ページの半分が表示されてから壊れます。これが私のページです。

http://www.statecertification.com/regshop/class-locator.html

ページソースを見ると、これは壊れているコードです

<script type="text/javascript">

        var marker, i;
        var map;
        var store_locations = <?php echo json_encode($Stores); ?>;

誰でも調べることができます、同じページが他のサーバーで動作しています。

ありがとう

4

7 に答える 7

1

開発者モードを有効にし、index.php を設定してエラーを表示します。

75 ~ 79 行目あたり:

#if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
#}

ini_set('display_errors', 1);

これで有効になりますが、完了したら必ず復元してください。

また/var/log、Apache ログ フォルダを確認して、問題が発生している理由を正確に確認してください。

于 2012-11-13T22:24:34.133 に答える
0

私の意見によると、問題は引用符などにはありません。

確かに、変数$Storesは存在しません。

作成者は、問題を発見するために次のアクションを実行することもできます。

index.phpでini_set('display_errors'、 '1');を使用します。#ini_set('display_errors'、 '1');の代わりに これにより、正確なエラーがわかります。

于 2012-11-13T20:54:48.730 に答える
0

今日まさにその状況でした。ホームページが半分までロードされた後、壊れたり、フッターが表示されなかったりします。既にioncubeローダーをインストールしていましたが、それは問題ではありませんでした。私の場合、昨日このファイルを編集し、元のファイルを復元したときに、テーマフォルダー /app/design/frontend/yourthemehere/default/template/page/html/midcolumn.phtml のファイル midcolumn.phtml であることが判明しましたホームページは再び正常に機能しました。ただし、これはあなたの場合ではありません。index.php ファイルの行のコメントを外して、magento デバッグを有効にすることをお勧めします

ini_set('display_errors', 1);

*(# を削除し、完了したら元に戻します)

于 2015-09-11T17:31:38.987 に答える
0

これは間違いなくphpエラーであるため、どのバージョンのmagnentoとphpを使用していますか? json_encode には php >= 5.2.0 が必要です

また、試してみてください

var store_locations = '<?php echo Mage::helper('core')->jsonEncode($Stores);?>';
于 2012-11-13T18:02:26.623 に答える
0

JSONなので引用符は必要ありません..

var test = {'var1':1, 'var2':2};
//this is totally OK and must not be enclosed bu quotes (a JSON object is not a string!)

ちなみにこれはjavascriptの問題ではなく、PHPの隠し致命的なエラーです。(HTML は、引用符の有無にかかわらず切り捨てられます..)

何が起こったのかを確認するには、エラー表示を有効にする必要があります:

<?php
ini_set('display_errors' 1);
error_reporting(E_ALL);
?>

ソースを見ると、2 つの問題がある可能性があります。

  • json_encode 関数がありません (PHP のバージョンは?)
  • $Stores 変数が定義されていないか、STRING ではありません

楽しむ

于 2012-11-13T20:34:26.080 に答える
0

一重引用符で囲みます。

var store_locations = '<?php echo json_encode($Stores); ?>';
于 2012-11-13T17:55:21.193 に答える
0

エコーは必要ありません:

 var store_locations = <?= json_encode($Stores); ?>;
于 2012-11-13T17:57:10.550 に答える