2013-12-21 27 views
1

我如何在管理新領域申請包含的mailto功能添加郵寄地址功能在管理領域

$fieldset->addField('email', 'link', array(
    'label'  => Mage::helper('mumodule')->__('Email'), 
    "target"=>"_blank", 
    'mailto' => Mage::registry('mumodule')->getData('email'), 
    'class'  => 'required-entry', 
    'required' => true, 
    'name'  => 'title', 
    )); 

使用這種方式我不能添加功能。

是否可以使用mailto功能添加新的字段?

回答

2

我簡單的方式

$fieldset->addField('email', 'link', array(
     'label'  => Mage::helper('mumodule')->__('Email'), 
     'target' => '_blank', 
     'href'  => 'mailto:' . urlencode(Mage::registry('mumodule')->getData('email')), 
     'class'  => 'required-entry', 
    )); 

mailto實現本地/社區:是URL所以它的一部分應該被分配在href屬性中:

3

您必須創建您自己的表單字段渲染器。爲此,您需要一個自定義模塊。如果你不知道該怎麼做,那麼這裏有一個很好的出發點:http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_create_an_admin_form_module

在app/code/[local/community]/MyCompany/MyModule/Varien/Data/Form/Element/Mailto中創建一個新文件。 PHP和此內容:

class MyCompany_MyModule_Varien_Data_Form_Element_Mailto extends Varien_Data_Form_Element_Abstract { 
public function __construct($data) { 
    parent::__construct($data); 
    $this->setType('link'); 
} 

public function getElementHtml() { 
    $html = $this->getBeforeElementHtml(); 
    if ($this->getValue()) { 
     $html .= '<a href="mailto:'.$this->getValue().'"></a> '; 
    } 
    $html .= $this->getAfterElementHtml(); 
    return $html; 
} 

之後去到您的表單文件,將其添加到字段集:

$fieldset->addType('mailto','MyCompany_MyModule_Varien_Data_Form_Element_Mailto'); 

$fieldset->addField('email', 'mailto', array(
    'label'  => Mage::helper('mymodule')->__('Email'), 
    'name'  => 'email', 
)); 

當然,你應該,你已經在使用的命名空間替換MyCompany的命名空間模塊和MyModule與您的模塊名稱。另外不要忘記將文件放在在您的模塊已經存在的代碼庫:

+0

我通過這種方式獲得了簡單的感謝 –