我在使用 Joomla 3.2 时遇到一个奇怪的问题。
我正在关注为 Joomla 2.5 编写的主从教程 ( http://library.logicsistemi.it/en/joomla/creating-a-mvc-master-detail-interface-in-joomla-2-5/47-create-a-mvc-master-detail-interface-in-joomla-2-5-part-1 )。这非常简单,但我有一个非常烦人的问题:在 View 中,当我调用 $this->get('Form') 时,它返回 false。如果我调用 $this->get('Form'),它会返回表单!
我知道这不是正确的行为,因为如果我调用 $form->getFieldset() 我会得到一个空数组...
我的代码:
views/document/view.html.php:
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.view');
class MasterDetailViewDocument extends JViewLegacy
{
function display($tpl = null)
{
// $form = $this->get('Form');
$item = $this->get('Item');
$form = $this->get('Form');
//die(var_dump($item));
die(var_dump($form));
$isNew = ($item->id < 1);
}
}
模型/表单/document.php:
<?xml version="1.0" encoding="utf-8"?>
<form>
<fieldset>
<field name="id" type="hidden" />
<field name="fk_master" type="hidden" />
<field name="name" type="text" label="Description" size="40" class="inputbox" />
<field name="filename" type="media" directory="attachments" />
</fieldset>
</form>
有人知道我做错了什么吗?为什么我必须调用两次 $this->get('Form')?为什么 $form->getFieldSet() 返回空数组?
最佳答案
我发现问题:我的 models/forms/document.php 名称不正确。它必须是 models/forms/document.xml。
更改名称后,一切正常。
关于php - Joomla 3.2 - 查看 $this->get ('Form' ) 返回 false,然后返回表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23535619/