Ich erstelle ein benutzerdefiniertes Modul, das Google Maps im Frontend von Magento anzeigt . Um diese Karten zu erhalten, muss der Administrator die URL des Kartenstandorts im Admin-Bereich eingeben und speichern. Das alles funktioniert gut. Die URL wird in der Datenbank gespeichert und die Karten werden im Frontend des Geschäfts angezeigt.
Jetzt möchte ich aber auch eine Vorschau dieser Karte im Admin-Panel anzeigen. Auf diese Weise kann der Administrator auf einfache Weise überprüfen, ob die richtige URL eingegeben und gespeichert wurde.
Ich möchte dies Preview Map
in einem neuen <field>
Feld (direkt unter dem Feld, in dem die URL eingegeben werden soll) anzeigen und eine Kartenvorschau verwenden <label>
. Das folgende Modell zeigt, was ich erreichen möchte.
Zu meiner Moduldatei habe system.xml
ich den folgenden Code hinzugefügt:
<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>
Und meine MyNamespace/MyModule/Block/System/Config/Map.php
enthält den folgenden Code:
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>';
}
}
Dadurch wird Google Map im Admin-Bereich gerendert und es wird auch im richtigen Format gerendert, <group>
aber es wird nicht in das <field>
gewünschte Format geladen . Dies ist ein Screenshot der aktuellen Situation.
Ich habe alles versucht, was <frontend_type>
mir einfällt ...
Meine Frage lautet also: Wie kann ich eine <iframe>
in ein Admin-Panel einfügen <field>
? Soll ich etwas hinzufügen <frontend_model>
?
sort_order
für ein 'Map Details'
Gebiet? Ist es weniger als das 20
für Sie verwendete 'Map Preview'
?
<frontend_model>
ist in der Tat der richtige Weg. In dieser Datei sollten Sie in der Lage sein$rendered .= '<iframe...