Magento의 프론트 엔드에 Google지도 를 표시하는 맞춤 모듈을 만들고 있습니다. 지도를 가져 오려면 관리자가 관리자 패널에서지도 위치의 URL을 입력하고 저장해야합니다. 이 모든 것이 잘 작동합니다. URL이 데이터베이스에 저장되고 맵이 상점의 프론트 엔드에 표시됩니다.
그러나 이제 관리자 패널에서도이 맵의 미리보기를 표시하고 싶습니다. 이를 통해 관리자는 올바른 URL을 입력하고 저장했는지 쉽게 확인할 수 있습니다.
URL을 입력 해야하는 필드 바로 아래 Preview Map
에 이것을 새로 표시 <field>
하고 맵 미리보기를 사용하고 싶습니다 <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지도가 렌더링되고 올바른지도 렌더링 <group>
되지만 <field>
원하는대로 로드되지 않습니다 . 이것은 현재 상황의 실제 스크린 샷입니다.
나는 내가 <frontend_type>
생각할 수있는 모든 것을 시도했다 ....
그래서 내 질문은 : <iframe>
관리자 패널에 어떻게 삽입 할 수 <field>
있습니까? 내 무언가를 추가해야합니까 <frontend_model>
?
sort_order
당신의 'Map Details'
분야 는 무엇입니까 ? 보다 작습니까20
사용하는'Map Preview'
습니까?
<frontend_model>
것이 실제로 갈 길이 라고 믿습니다 . 그 파일 안에서$rendered .= '<iframe...