Je crée un module personnalisé qui affiche Google Maps dans le frontend de Magento. Pour obtenir ces cartes, l'administrateur doit saisir et enregistrer l'URL de l'emplacement de la carte dans le panneau d'administration. Tout fonctionne bien. L'URL est enregistrée dans la base de données et les cartes sont affichées dans le frontend du magasin.
Mais maintenant, je voudrais également afficher un aperçu de cette carte dans le panneau d'administration. Cela permettra à l'administrateur de vérifier facilement si l'URL correcte est entrée et enregistrée.
Je veux afficher cela Preview Map
dans un nouveau <field>
(juste en dessous du champ où l'URL doit être entrée) et utiliser un aperçu de la carte <label>
. La maquette ci-dessous affiche ce que j'essaie de réaliser.
À mon system.xml
fichier de modules , j'ai ajouté le code suivant:
<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>
Et mon MyNamespace/MyModule/Block/System/Config/Map.php
contient le code suivant:
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>';
}
}
Cela rend la carte Google dans le panneau d'administration et le rend également correctement, <group>
mais il n'est pas chargé dans le fichier <field>
que je veux. Il s'agit d'une capture d'écran réelle de la situation actuelle.
J'ai essayé tout <frontend_type>
ce à quoi je peux penser ...
Ma question est donc: comment puis-je insérer un <iframe>
dans un panneau d'administration <field>
? Dois-je ajouter quelque chose à mon <frontend_model>
?
sort_order
ton 'Map Details'
domaine? Est-ce moins que celui 20
utilisé pour votre 'Map Preview'
?
<frontend_model>
c'est vraiment la voie à suivre. Dans ce fichier, vous devriez pouvoir$rendered .= '<iframe...