0
一部の製品属性に応じて実行時に製品テンプレートを変更する方法はありますか?製品にはテンプレートへのパスを含むカスタム属性があり、異なる製品には異なるテンプレートがある可能性があります。Magentoはランタイム時に製品テンプレートを変更します
一部の製品属性に応じて実行時に製品テンプレートを変更する方法はありますか?製品にはテンプレートへのパスを含むカスタム属性があり、異なる製品には異なるテンプレートがある可能性があります。Magentoはランタイム時に製品テンプレートを変更します
これは、複数の方法で行うことができます。
私は最良の方法は、製品ビューブロックを交換することだと思います。
1)ページは、そのブロックを使用するようにレイアウトを更新するか、ブロックを上書きMage_Catalog_Block_Product_View
2を拡張新しいブロック)を作成します。
をすべてデフォルトのブロックを再度追加する必要がないの書き換えを使用することができ、デフォルトのブロックを維持する必要がある場合は、あなたが使用してそれを変更することができますレイアウト:
<remove name="product.info"/>
<block type="ricard_catalog/product_view" name="ricard.product.info" as="product.info"/> <!-- I haven't set a template as the block have the logic to do so -->
_prepareLayout機能はあなたに代わりにsetTemplateのロジックを追加するためのブロックで3)上書き:
もちろんコントローラーで行うこともできますが、メンテナンスには適していないコピー/ペーストを行う必要があります。