西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

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

时间:2016-03-03 10:00来源: 作者: 点击:
在后台创建的html元素,一般都是在function _prepareForm()里面调用addField; 如下代码创建一个button [php] view plaincopy $buttonstyle = padding-left:6px; border-color:#ED6502; text-align:center; ; $fieldset = $form -
在后台创建的html元素,一般都是在function _prepareForm()里面调用addField;
如下代码创建一个button
[php] view plaincopy
 
  1.         $buttonstyle = "  
  2. padding-left:6px;  
  3. border-color:#ED6502;  
  4. text-align:center;  
  5. ";  
  6.           
  7.         $fieldset = $form->addFieldset('steals_form'array('legend'=>Mage::helper('mode')->__('Create button')));  
  8.         $fieldset->addField('runfile''button'array(  
  9.             'name' => 'runfile',  
  10.             'style'=> $buttonstyle,//定义按钮的css  
  11.             'onclick'=>'runfile()',//js方法  
  12.             'value' => 'Run Profile',  
  13.         ));  
点击按钮之后,运行js的runfile 方法,那么怎么将此方法加到这个form页面呢,办法不止一种,这里简单说一种;

代码示例:
[php] view plaincopy
 
  1. $field = $fieldset->addField('runfilejs''hidden'array(  
  2.     'name' => 'hiddenjs',  
  3. ));  
  4. field->setRenderer($this->getLayout()->createBlock('mode/adminhtml_dect_edit_renderer_html'));  
上面代码创建一个hidden元素,然后在此元素引入一个renderer,在这个renderer文件里,就可以定义js方法了
renderer示例档案如下
[php] view plaincopy
 
  1. class Company_Mode_Block_Adminhtml_Dect_Edit_Renderer_html extends Mage_Adminhtml_Block_Abstract implements  
  2.   
  3. Varien_Data_Form_Element_Renderer_Interface {  
  4.   public function render(Varien_Data_Form_Element_Abstract $element) {  
  5.     //You can write html here  
  6.     $html = "<script type='text/javascript'>  
  7.     function runfile(){  
  8.      //写你的js代码在这里  
  9.     }  
  10.     </script>";  
  11.    return $html;  
  12.   }  
  13. }   

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

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

 

[php] view plaincopy
 
  1. $addcomment->addField('rtype''radios',  
  2.         array(  
  3.             'label' => $this->__('Select Type'),  
  4.             /* 'class' => 'validate-one-required-by-name', */  
  5.             'name'  => 'rtype',  
  6.             'required' => true,  
  7.             'values' => array(array('label'=>'Masculino''value'=> 'M','class' => 'validate-genero'),array('label'=>'Feminino''value'=>'F')),  
  8.             /* double error message bug */  
  9.             'after_element_html' => '<script type="text/javascript">//js代码 </script>'  
  10.         )  
  11.  );   
一个after_element_html就搞定!

 

 

 

当然,你也可以手动一个创建phtml,然后直接在phtml创建html元素和js 方法,有兴趣的朋友可以去尝试!(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容