magento在后台form里面添加css和js

在后台创建的html元素,一般都是在function _prepareForm()里面调用addField;
如下代码创建一个button
        $buttonstyle = "
padding-left:6px;
border-color:#ED6502;
text-align:center;
";
        
        $fieldset = $form->addFieldset('steals_form', array('legend'=>Mage::helper('mode')->__('Create button')));
        $fieldset->addField('runfile', 'button', array(
            'name' => 'runfile',
            'style'=> $buttonstyle,//定义按钮的css
            'onclick'=>'runfile()',//js方法
            'value' => 'Run Profile',
        ));
点击按钮之后,运行js的runfile 方法,那么怎么将此方法加到这个form页面呢,办法不止一种,这里简单说一种;

代码示例:
        $field = $fieldset->addField('runfilejs', 'hidden', array(
            'name' => 'hiddenjs',
        ));
       $field->setRenderer($this->getLayout()->createBlock('mode/adminhtml_dect_edit_renderer_html'));
上面代码创建一个hidden元素,然后在此元素引入一个renderer,在这个renderer文件里,就可以定义js方法了
renderer示例档案如下
class Company_Mode_Block_Adminhtml_Dect_Edit_Renderer_html extends Mage_Adminhtml_Block_Abstract implements

Varien_Data_Form_Element_Renderer_Interface {
  public function render(Varien_Data_Form_Element_Abstract $element) {
    //You can write html here
    $html = "<script type='text/javascript'>
    function runfile(){
     //写你的js代码在这里
    }
    </script>";
   return $html;
  }
} 

以上方法不见得是最完美的方法,但很容易理解。

其实还有一种更为简便的方法,一目了然,例子如下:

        $addcomment->addField('rtype', 'radios',
                array(
                    'label' => $this->__('Select Type'),
                    /* 'class' => 'validate-one-required-by-name', */
                    'name'  => 'rtype',
                    'required' => true,
                    'values' => array(array('label'=>'Masculino', 'value'=> 'M','class' => 'validate-genero'),array('label'=>'Feminino', 'value'=>'F')),
                    /* double error message bug */
                    'after_element_html' => '<script type="text/javascript">//js代码 </script>'
                )
         ); 
一个after_element_html就搞定! 微笑



当然,你也可以手动一个创建 phtml,然后直接在phtml创建html元素和js 方法,有兴趣的朋友可以去尝试!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值