我想向magento编辑cms / block页面添加按钮,当我点击它时,它会显示弹出窗口,其中包含来自表单的输入字段值(例如,页面标题,页面标识符,内容)。
添加按钮很简单,但我必须从这些字段中获取此值。
答案 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;
}
";
}