带有来自字段的数据的弹出窗口(cms页面/块)

时间:2014-02-11 10:29:40

标签: php magento

我想向magento编辑cms / block页面添加按钮,当我点击它时,它会显示弹出窗口,其中包含来自表单的输入字段值(例如,页面标题,页面标识符,内容)。

添加按钮很简单,但我必须从这些字段中获取此值。

1 个答案:

答案 0 :(得分:0)

对于Mage_Adminhtml_Block_Cms_Page_Edit中的页面和带有按钮的Mage_Adminhtml_Block_Cms_Block_Edit中的块,您可以定义要调用的onclick js函数,并在$this->_formScripts[]中添加该js函数。在这个js函数中,你可以做你想要的所有魔法。

Mage_Adminhtml_Block_Cms_Page_Edit的简短示例:

public function __construct()
{
    ...
    $this->_addButton('quickview', array(
                'label'     => Mage::helper('adminhtml')->__('Quick Form View'),
                'onclick'   => 'quickview()',
                'class'     => 'info',
            ), -200);
    $this->_formScripts[] = "
            function quickview(){
                f1=document.forms['edit_form'];
                //to show specific element value
                var txt = document.getElementById('page_title').value;
                //to get All elements
                var txt = '';
                for (var i=0; i<f1.length; i++){
                    txt = txt + f1.elements[i].id + ' : ' + f1.elements[i].value + '\\n';
                }
                var popupDiv = document.createElement('div');
                var popupHtml = '<div id =\"popup\" style=\"position: absolute; width: 94%; padding: 10px; z-index: 10; left: 28px; background: none repeat scroll 0% 0% rgb(248, 248, 248); display: block; border: 1px solid rgb(204, 204, 204);\"></div>';
                popupHtml+='<div style=\"background: none repeat scroll 0px 0px rgb(0, 0, 0); left: 0px; min-height: 250%; min-width: 100%; opacity: 0.45; position: absolute; top: 0px; z-index: 9; display: block;\" ></div>';
                popupDiv.innerHTML = popupHtml;
                f1.appendChild(popupDiv);
                document.getElementById('popup').innerHTML = txt;
            }
        ";


}