問題タブ [magento-layout-xml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
magento - Magento: 書き換えられたコントローラーは、セッション タイムアウト後にログイン ページにリダイレクトできません
Magento 用 Embedded ERP Extension を購入しました。私たちはそれをカスタマイズし、いくつかのコントローラーも書き直しました。ここに私のconfig.xmlファイルからのスニペットがあります
ここで興味深い問題があります。グリッドでソート/フィルタリングなどのアクションを行う場合は、最初に書き換えます。発信し、ajax 呼び出しを行います。通常、セッションがなくなった場合、サーバーは次の形式のような拒否された json を返しました
ただし、最初のケースでは、拒否された json は次の形式になり、URL が変更されます
このため、ユーザーは 404 ページに移動します。
次に、2 番目の書き換え規則について考えます。
この場合、セッションがタイムアウトし、グリッドで何らかのアクションを行うと、ページが更新されますが、ログイン ページに移動する代わりに、致命的なエラー (ユーザー名を取得しようとしている) が報告されます。何時間ものデバッグの後、レイアウトの問題であることがわかりました。ハンドル。
通常、ルート名が次の場合、module/controller/action
magento は
<module_controller_action>
xml ファイルからレイアウト ハンドルもロードします。<admin_index_login>
そのため、最終的<admin_index_login>
にレンダリングされます。2 回目の書き換えの場合、magento は<admin_index_login>
ハンドルをロードしていないため、致命的なエラーが表示されます。
この方向のヒントや助けをいただければ幸いです。他に情報が必要な場合は、喜んで提供させていただきます。どうもありがとう!
php - Magento: 注文成功の関連製品
望ましい結果:
注文成功ページに、ユーザーが購入した商品に関連する商品を表示したい。
私がこれまでにやったこと:
- 関連商品を含む商品属性
- 追加さ
echo $this->getChildHtml('related_products_list');
れたcheckout/success.phtml
- product_list を拡張し、適切なコレクションを設定するブロック (注: これは書き換えではありません)
以下に追加しました
/li>custom.xml
(パスは正しいです):
機能しなくなった場所
で追加した div をレンダリングしますcheckout/success.phtml
が、getChildHtml()
呼び出しは空です。
また、私はMagneto Debug
- を使用し、レイアウトの更新には私の XML が含まれています。
助けが必要なこと
これが機能しない理由を理解したいと思います。に置き換える<checkout_onepage_success>
と<cms_index_index>
、ホームページで目的のブロックを取得します (を持たないgetChildHtml()
) では、なぜそれらの動作が異なるのですか?
また、理想的には、ファイルを変更する必要はなくcheckout/success.phtml
、自動的に出力されるはずです。
非常に単純なものが欠けていることはわかっていますが、何がわかりません。
ありがとうございました。
magento - Magentoのレイヤードナビゲーションブロックを左の列から右の列に移動するにはどうすればよいですか?
この質問が出されたことは知っていますが、自分に合った答えを見つけることができませんでした。検索結果を表示するときにCMS静的ページも検索するカスタムモジュールを作成しました。このモジュール内に、レイアウトxmlを更新するファイルがあります。私のxmlがロードされていると確信しています。何らかの理由で、レイヤードナビゲーションを削除または設定解除して、右の列に移動しようとしても効果がありませんでした。以下は私のコードです。誰かが私の間違いを指摘するのを手伝ってくれることを望んでいました。ありがとうございました!
magento - レイアウト XML ファイルを介してヘルパー クラスにパラメーターを渡す
次のようにtop.linksブロックに追加されている作業リンクがあります。
最終的に、 getAboutUsUrlをgetExternalSiteUrlに変えたいと思いました。その 1 つの関数がパラメーターを受け取るようにします。たとえば、getExternalSiteUrl('about-us')は /the/url/about-us のようなものを返します。ただし、レイアウト XML ファイルでヘルパー クラスのパラメーターを送信する方法が見つからないようです。すでにこれを行っている他のモジュールを検索しましたが、検索した Customer モジュールには見つかりませんでした。
誰でも助けることができますか?
php - Magentoでプログラムによってブロックの位置を設定します
Magentoでプログラムでブロックの位置を設定したい。
たとえば、ブロックの位置を次のように設定できるようにしたいと思います。
製品ビューページの「コンテンツ」の下
サイドバー内(左/右)
他のブロックの前/後。
それを行う方法を提案してください。
magento - Magento - ブロックから setTemplate アクションを削除
レイアウト XML ファイルで以下を呼び出す CatalogSearch/Advanced/Result ブロックを拡張しています。
<reference name="root">
<action method="setTemplate"> ...
このブロックが表示されているときに特定のルート テンプレートを設定します。独自の xml ファイルを使用してこれを元に戻したいと思います。自分の xml ファイルでテンプレートをデフォルトのルート テンプレートに設定するだけで、これを「元に戻す」ことができます。デフォルトのルート テンプレートを使用し、単純に使用します (setTemplate ステートメントが CatalogSearch/Advanced/Result ブロックのレイアウト xml に存在しないかのように)。
これは可能ですか?
ありがとう。
php - Magento テンプレートからすべてのブロックを削除します
カスタム Magento モジュールのテンプレート/レイアウト ファイルからすべてのデフォルト ブロックを削除したいと考えています。現在、私は次のような個々の削除を使用しています
からの出力に Magento からのコードを含めないようにしたいのですが、cart.phtml
Magento に記述されたコードのみを含める必要があります。
今実行すると、他のすべてのタグをhttp://127.0.0.1/mag/index.php/module/cart/
含む完全なHTML
ページが出力されます。<html>, <head>, <body>
これらのタグを削除するにはどうすればよいですか? に書かれた内容だけを取得したいmodule/cart.phtml
。
Magento でデフォルトのレイアウト レンダリングを削除/防止する方法はありますか?