3
管理パネルの<フィールド>に<iframe>を挿入する方法は?
MagentoのフロントエンドでGoogleマップを表示するカスタムモジュールを作成しています。これらのマップを取得するには、管理者が管理パネルでマップの場所の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>'; …