我正在创建一个Joomla 2.5组件。在后端,我创建了一个显示网格的模型/视图/控制器“成员”。我还创建了一个MVC“成员”,用于从网格中添加或编辑成员。到现在为止还挺好。
现在,我想添加一个与后端中的“成员”视图非常相似的前端视图,但这是供访问者使用的,以便他们可以订阅。它必须看起来比后端表单更加用户友好,因此我将在前端中创建一个稍微不同的“成员”视图,但是我真的很想重用表单文件(/ administrator / components / mycomponent / models / forms / member .xml)!
因此,我的问题是前端视图如何找到并使用该后端表单?
您绝对必须将其加载到模型中。您的模型必须扩展JModelAdmin,然后getForm函数必须加载表单
public function getForm($data = array(), $loadData = true) {
// Get the form.
JForm::addFormPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/forms');
JForm::addFieldPath(JPATH_COMPONENT_ADMINISTRATOR . '/models/fields');
$form = $this->loadForm('com_dpattachments.attachment', 'attachment', array('control' => 'jform', 'load_data' => $loadData));
if (empty($form)) {
return false;
}
....
}
我在DPAttachments组件中使用的是相同的方法,它用于Joomla 3.1,但是要在正面和背面使用相同模型和形式的主要代码也应在Joomla 2.5上运行。这是指向getForm函数的链接https://github.com/Digital-Peak/DPAttachments/blob/master/com_dpattachments/admin/models/attachment.php#L102
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句