我为Magento 1.6.2做了一点扩展。我设法在后端系统中编写代码来为数据库创建一个EAV模型,我可以像本教程那样编写/读取项目:http://www.pierrefay.com/magento-admin-gridview-85
如何在前端系统中使用以下表单,..我看到有不像Mage_Adminhtml_Block_Widget_Form这样的类。我不想使用自己的HTML结构,想要得到Magento的外观和感觉。有谁知道如何使用magento类在magento前端制作自己的表单?
class Extension_Name_Adminhtml_Printcatalog_Edit_General_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('printcatalog_form',
array( 'legend' => __('Allgemeine Informationen')));
$fieldset->addField('catalog_name', 'text',
array(
'label' => __('Katalogname'),
'class' => 'required-entry',
'required' => true,
'name' => 'catalog_name',
));
$fieldset->addField('release_date', 'text',
array(
'label' => __('Erscheinungsdatum'),
'class' => 'required-entry',
'required' => true,
'name' => 'release_date',
// 'image' => Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'/adminhtml/default/default/images/grid-cal.gif',
// 'format' =>
Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
));
if (Mage::registry('printcatalog_data'))
{
$form->setValues(Mage::registry('printcatalog_data')->getData());
}
return parent::_prepareForm();
}
}
?>
答案 0 :(得分:2)
不可能开箱即用,所有magento前端表单都是硬编码的。正如您在课程中看到的那样,它是Adminhtml模块(Mage_Adminhtml_Block_Widget_Form)的一部分,该模块用于magento中的管理仪表板。
在大多数情况下,在代码中集成表单类的开发量不值得硬编码前端表单的时间或灵活性。如果你的大部分继续开发都围绕着表单,那么我会重新考虑构建抽象表单类,以帮助通过控制器创建表单。
更重要的是,Magento确实为您的前端提供了一个相当不错的javascript验证系统。
答案 1 :(得分:2)
你应该看看Zend_Form,它是在Magento / Varien的原始表格实现之后出现的。