php - Joomla 3.2 - 查看 $this->get ('Form' ) 返回 false,然后返回表单

标签 php joomla joomla3.2

我在使用 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/

相关文章:

javascript - 仅向来自特定引荐来源网址的访问者显示页面中的 iframe

php中的javascript新弹出页面

apache - fail2ban 阻止 403 错误 apache

azure - 在Windows Azure IIS上重定向Joomla错误

php - Joomla 3 mysql 错误 SQL 错误 = 0?

mysql - 1064 - 你的 SQL 语法有错误 - Joomla 网站

joomla - JCE 编辑器无法在 Joomla 上运行

php - 在symfony2的entites文件夹中保持表的相同名称

css - Bootstrap CSS - 在列表旁边 float 图像

php - oAuth 中的 access token 是否应该在用户每次登录时生成?