Sto creando un modulo personalizzato che viene visualizzato Google Maps nel frontend di Magento. Per ottenere quelle mappe, l'amministratore dovrebbe inserire e salvare l'URL della posizione della mappa nel Pannello di amministrazione. Funziona tutto bene. L'URL viene salvato nel database e le mappe vengono visualizzate nel frontend del negozio.
Ma ora vorrei visualizzare un'anteprima di questa mappa anche nel Pannello di amministrazione. Ciò consentirà all'amministratore di verificare facilmente se l'URL corretto è stato inserito e salvato.
Voglio visualizzarlo Preview Map
in un nuovo <field>
(appena sotto il campo in cui deve essere inserito l'URL) e utilizzare un'anteprima della mappa <label>
. Il modello seguente mostra ciò che sto cercando di ottenere.
Al mio system.xml
file di moduli ho aggiunto il seguente codice:
<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>
E il mio MyNamespace/MyModule/Block/System/Config/Map.php
contiene il seguente codice:
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>';
}
}
Questo rende la mappa di Google nel Pannello di amministrazione e anche il rendering nel modo corretto <group>
ma non è caricato nel modo <field>
desiderato. Questa è una schermata reale della situazione attuale.
Ho provato tutto quello che <frontend_type>
mi viene in mente ....
Quindi la mia domanda è: come posso inserire un <iframe>
in un pannello di amministrazione <field>
? Devo aggiungere qualcosa al mio <frontend_model>
?
sort_order
tuo 'Map Details'
campo? È inferiore a quello 20
usato per il tuo 'Map Preview'
?
<frontend_model>
sia davvero la strada da percorrere. All'interno di quel file dovresti essere in grado di$rendered .= '<iframe...