ฉันกำลังสร้างโมดูลที่กำหนดเองซึ่งแสดงGoogle Mapsในส่วนหน้าของ Magento ในการรับแผนที่เหล่านั้นผู้ดูแลระบบจะต้องป้อนและบันทึก URL ของที่ตั้งแผนที่ในแผงการดูแลระบบ ทั้งหมดนี้ทำงานได้ดี กำลังบันทึก URL ในฐานข้อมูลและแผนที่จะแสดงในส่วนหน้าของร้านค้า
แต่ตอนนี้ฉันต้องการแสดงตัวอย่างของแผนที่นี้ในแผงการดูแลระบบด้วย วิธีนี้จะช่วยให้ผู้ดูแลระบบสามารถตรวจสอบได้ง่ายว่ามีการป้อนและบันทึก URL ที่ถูกต้องหรือไม่
ผมต้องการที่จะแสดงนี้Preview Map
ในใหม่<field>
(เพียงด้านล่างฟิลด์ที่ URL ที่ควรจะเข้ามา) <label>
และใช้แผนที่ดูตัวอย่าง การจำลองด้านล่างแสดงสิ่งที่ฉันพยายามบรรลุ
system.xml
ไฟล์โมดูลของฉันฉันได้เพิ่มรหัสต่อไปนี้:
<fields>
....
<preview translate="label comment">
<label>Map Preview</label>
<frontend_type>link</frontend_type>
<frontend_model>mymodule/system_config_map</frontend_model>
<comment>Preview of your map</comment>
<sort_order>20</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</preview>
</fields>
และฉันMyNamespace/MyModule/Block/System/Config/Map.php
มีรหัสต่อไปนี้:
class MyNamespace_MyModule_Block_System_Config_Map extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface
{
public function render(Varien_Data_Form_Element_Abstract $element) {
$url = Mage::helper('mymodule')->getMapUrl($store = null);
return '<iframe style="border: 0;" src="'.$url.'" frameborder="0" width="100%" height="270"></iframe>';
}
}
สิ่งนี้แสดงผล Google Map ในแผงการดูแลระบบและแสดงผลอย่างเหมาะสม<group>
แต่ไม่ได้โหลดตาม<field>
ที่ฉันต้องการ นี่เป็นภาพหน้าจอจริงของสถานการณ์ปัจจุบัน
ฉันลองทุกอย่างที่<frontend_type>
ฉันนึกได้ ....
ดังนั้นคำถามของฉันคือฉันจะแทรก<iframe>
ในแผงผู้ดูแลระบบได้<field>
อย่างไร ฉันควรเพิ่มบางสิ่งบางอย่างในของฉัน<frontend_model>
?
sort_order
ที่คุณ'Map Details'
ฟิลด์? มันน้อยกว่าที่20
ใช้สำหรับคุณ'Map Preview'
หรือไม่?
<frontend_model>
เป็นวิธีที่จะไป ภายในไฟล์นั้นคุณควรจะสามารถ$rendered .= '<iframe...