สิ่งเหล่านี้เกี่ยวข้องกับตำแหน่งที่แสดงตัวเลือกแบบกำหนดเองของผลิตภัณฑ์
ดูapp/code/core/Mage/Catalog/etc/config.xml
:
<design>
<options_container>
<option1 translate="label">
<value>container1</value>
<label>Product Info Column</label>
</option1>
<option2 translate="label">
<value>container2</value>
<label>Block after Info Column</label>
</option2>
</options_container>
</design>
ที่นี่คุณจะเห็นว่าcontainer1
เกี่ยวข้องกับ 'คอลัมน์ข้อมูลผลิตภัณฑ์' ในขณะที่ container2 คือ 'บล็อกหลังคอลัมน์ข้อมูล' ค่าเหล่านี้อธิบายว่าตัวเลือกที่กำหนดเองจะปรากฏที่ใดในหน้ามุมมองผลิตภัณฑ์ คุณสามารถตั้งค่าเหล่านี้เมื่อแก้ไขผลิตภัณฑ์ใน Magento admin ภายใต้แท็บออกแบบ
บล็อกเลย์เอาต์ถูกกำหนดในapp/design/frontend/base/default/layout/catalog.xml
:
<block type="core/template_facade" name="product.info.container1" as="container1">
<action method="setDataByKey"><key>alias_in_layout</key><value>container1</value></action>
<action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
<action method="append"><block>product.info.options.wrapper</block></action>
<action method="append"><block>product.info.options.wrapper.bottom</block></action>
</block>
<block type="core/template_facade" name="product.info.container2" as="container2">
<action method="setDataByKey"><key>alias_in_layout</key><value>container2</value></action>
<action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
<action method="append"><block>product.info.options.wrapper</block></action>
<action method="append"><block>product.info.options.wrapper.bottom</block></action>
</block>
และในapp/design/frontend/base/default/template/catalog/product/view.phtml
คุณจะเห็นสองสาย:
<?php echo $this->getChildChildHtml('container1', '', true, true) ?>
และ
<?php echo $this->getChildChildHtml('container2', '', true, true) ?>