0

夜...

cs-cart 4.1.2 を使用してカスタマイズされた e コマース アプリを構築していますが、エラーではなく奇妙な動作という問題に遭遇しました...

index.tpl の render_location 関数を単純なロジックに置き換えて、ディスパッチ値に基づくカスタム テンプレートを含めました。

これは、これまでのところ、すべてのページでうまく機能しています...ディスパッチルートがcustom_search.searchのときに呼び出されるカスタムテンプレート「search.tpl」があります。ページが読み込まれ、テンプレートが期待どおりに表示されますが、コンソールと応答ヘッダーに 404 ステータスが表示されます..?

システムがこれを必要とする場合に備えて、同じディスパッチ値の場所をレイアウトに追加するなど、これの原因を突き止めるためにいくつかのことを行いました。

それが機能するように呼び出されているフロントエンドコントローラーファイルがあります。ページタイトルを置き換えるテンプレートフックがあり、それが呼び出されているため、システムは確実に期待どおりにページをレンダリングしています。

誰もこれに遭遇したことがありますか?

乾杯、ジョン

4

1 に答える 1

0

そうですね、これで時間を無駄にしないように、そして同じ問題で他の人を助けるために、私は問題を見つけました。

すべてのビューでカスタム テンプレートを呼び出すように index.tpl ファイルを変更しました。これにより、悪夢のようなテンプレート システムに対処する必要がなくなりました (フロント エンドを大幅に変更しようとしている場合は、実際には悪夢にすぎません)。これを行う際に、すべてのブロック/tpl ファイルをレンダリングしてビューを生成する render_location 関数を削除しました。この機能を削除したにもかかわらず、システムでは、使用されていなくても、アドオンに正しいファイルが必要です。

したがって、デザイン > テーマ > テーマ名 > テンプレート > アドオン > アドオン名 > ビュー > アドオン名 では、ディスパッチ呼び出しの 2 番目の部分と同じ名前の tpl ファイルが常に必要です。

たとえば、dispatch=addon_test.view の場合、次のものが必要です: design > themes > theme_name > templates > addons > addon_test > views > addon_test > view.tpl

于 2014-03-14T10:31:04.460 に答える