タグ付けされた質問 「layout-update」

3
Magento 2のカテゴリビューにプログラムでカスタムレイアウトハンドルを追加する方法
したがって、すべてのカテゴリビューページにカスタムレイアウトハンドルを追加したいと思います。ロードされるはずのハンドルは特定のカテゴリパラメータに依存するため、プログラムでハンドルを追加する必要があります。 $page->addPageLayoutHandles() 簡単そうです どうやら Magento 2は、私が自然に使うつもりの素晴らしいプラグインシステムを提供します。afterExecute()元のカテゴリの後に実行するプラグインを定義し、execute()そこからすべての更新をPageオブジェクトにプッシュします。 残念ながら、この方法ではうまく機能しません。理由は、元のexecute()メソッドが(最後に)実行されるためです。$page->getConfig()->addBodyClass()このメソッドを呼び出すと、レイアウトが自動的に完全にロードおよび生成されるため、その後に新しいメソッドを追加しようとすると、 Pageへのレイアウトハンドルは完全に役に立ちません。私は周りを見回して同じことを達成するためにそれほどエレガントではない方法を見つけました(まだプラグインを使用しています)。何も見つかりませんでした。 結局、カテゴリビュー用に独自のコントローラを実行することになりましたが、そのままにしたくありません。 だから私の質問は.. カテゴリビューに新しい(プログラムで)ページレイアウトハンドルを追加するにはどうすればよいですか?エレガントにそれを行います。

5
レイアウトの更新:参照によりレイアウトXMLに子ブロックを追加できません
レイアウトXMLファイルに子ブロックを追加できないように見える問題があります。私はで間違って何をやっているmylayout.xml私はロードできませんかabc?次のファイルがあります。 onestepcheckout.xml <onestepcheckout_index_index> ... <reference name="content"> <block type="onestepcheckout/checkout" name="onestepcheckout.checkout" template="onestepcheckout/checkout.phtml"> ... <!-- this child block can be loaded --> <block type="block/class" template="path/to/template/template.phtml" name="qwe" as="qwe" /> ... </block> </reference> ... </onestepcheckout_index_index> mylayout.xml <onestepcheckout_index_index> <reference name="onestepcheckout.checkout"> <!-- this child block can not be loaded --> <block type="block/class" template="path/to/template/template.phtml" name="abc" as="abc" /> </reference> …

3
子ブロックをproduct_listに追加できません
商品リストにブロックを追加しようとしています: <?xml version="1.0"?> <layout version="0.1.0"> <catalog_category_view translate="label"> <reference name="product_list"> <remove name="product_list_toolbar"/> <block type="core/template" name="helloworld" as="helloworld" template="helloworld.phtml"/> </reference> <reference name="footer"> <block type="core/template" name="helloworld" as="helloworld" template="helloworld.phtml"/> </reference> </catalog_category_view> </layout> ではカタログ/製品/ list.phtml私はこれを持っています: <?php Zend_Debug::dump($this->getSortedChildren()); ?> <?php echo $this->getChildHtml('helloworld'); ?> ではページ/ HTML / footer.phtml:私はこれを持っています <?php Zend_Debug::dump($this->getSortedChildren()); ?> <?php echo $this->getChildHtml('helloworld'); ?> 並べ替えた子のリストからが削除されているかどうかを確認することで<remove name="product_list_toolbar"/>、参照がproduct_list正しく機能するかどうかをテストできるように追加しただけであることに注意してくださいproduct_list_toolbar。そうです。 だから私が今持っているのは製品リストとフッターの同じコードであり、それはフッターでのみ機能します。いくつかの掘削を行った後、私は見つけることができません任意のブロックのインスタンスが追加されているproduct_list他のよりproduct_list_toolbar。それで、このブロックについて、子供を追加することが機能しない何かがありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.