3

そこで、Magento の無料のブログ拡張機能をダウンロードしましたが、1 つのブログしかサポートしていません。そのため、magento ストアに複数のブログが必要なため、拡張機能を複製しました。拡張機能のコピーですべての参照と呼び出しを適切に変更し、別の拡張機能としてインストールすることができました。

しかし、管理パネルから新しい投稿を作成しようとすると、Magento 404 エラーが発生します。

誰かが見て、私が欠けているものを教えていただければ幸いです。

テストには 2 つの環境を使用することに注意してください。

  1. PHP 5.2.6、MySQL 5、および Apache 2.0.59 を使用した MAMP/WAMP (Mac および Windows 用のパッケージ化された LAMP デスクトップ環境) による Magento のローカル インストール

  2. PHP 5.2.10、MySQL 5.x、および Apache 2.x を使用する Web サーバー

私のローカル MAMP/WAMP では、問題なくブログを作成できます。ただし、ライブサーバーからテストすると、新しいブログ投稿を作成できなくなり、投稿作成ページの管理ページへのリダイレクトにより、magento 404 エラーが発生します。

これはいくつかのサーバー設定に関係している可能性があると考えていましたが、まったくわかりません。他の誰かが私のためにこれを調べてくれれば幸いです.

ありがとう。

プログラマー

4

1 に答える 1

6

それが StackOverflow のやり方だからです。Magento の規則に本当に精通していない限り、正しいことを十分に変更していない可能性があります。

  1. Magento でのコントローラーのディスタッチ プロセスを読み、その進行状況を追跡してみてください

  2. これで、フロントネームが「vblog_admin」であることがわかりました。このフロントネームがロードされているページはありますか? そうでない場合は、カスタマイズしたモジュールの <routers> セクションを確認してください

  3. コントローラー名は「manage_vblog」です。これは、カスタマイズされたモジュールで次の場所にコントローラーが必要であることを意味しますModuleName/controllers/Manage/Vblog.php

  4. コントローラーが配置されていることを確認したら、コントローラーに newAction メソッドがあることを確認します。

上記の手順のいずれかが失敗した場合、magento は 404 を返します。最後に、

app/code/core/Mage/Core/Controller/Varien/Router/Standard.php

テキストを検索しますgetControllerFileName。これは、コントローラーの名前を取得する場所であり、Magento が正当な要求があるかどうかを決定するシステムの一般的な領域でもあります。

更新:以下に提供されているファイル (および私的な通信) に基づいて、問題の原因は命名規則にあるようです。Magento は、キャメル ケースの命名規則について非常に厳格です。

VBlog 

する必要があります

Vblog

クラスとファイル名のすべてのインスタンスで。PHP 自体はクラス名の大文字と小文字を区別しませんが、msot Linux サーバーは大文字と小文字を区別します。このため、Magento はコントローラー クラス ファイルを見つけることができず、それが 404 を取得している理由です。

于 2009-09-19T02:13:40.937 に答える