Joomla 2.5 xml字段-在表单提交后存储值


Joomla 2.5 xml fields - store values after form submit

我有一个典型的XML文件,其中有许多字段,例如

<field
type="custom"
name="city"
id="city"
label="City"
size="40"/>

在视图中我显示这个字段-一切正常。此外,我在这个字段上使用状态过滤。模型populateState ():

$filter = $app->input->get('city');
$this->setState('filter.city', $filter);

问题是,字段在表单提交后没有值(表单有get方法)。我不能在value字段写$this->getState('city')之类的,因为这是xml文件。也许有人有解决办法……我在考虑JS,但主要是我想有一个PHP解决方案。

问题解决了!解决方案如下:1. 在jform数组中拥有所有字段的名称。如果您在xml中使用表单,它会自动生成。2. 当你加载表单数据,发送第二个参数为真:$model->getForm('formName', true),因为第二个参数是$loadData。通过这个选项,Joomla将加载表单数据。3.你有loadFormData函数的加载数据:

protected function loadFormData() {
        $data = JFactory::getApplication()->getUserStateFromRequest('jform', 'jform');
        if (empty($data)) {
            $data = $this->getItem();
        }
        return $data;
    }

我不是100%清楚你在问什么,但如果你使用一个标准的JForm并插入它与这样的东西:

echo $this->form->getInput('articletext');

如果表单中的字段名不是city,则更有可能是:

`jform[articletext]`

如果你可以添加更多的XML文件,这样我们就可以看到分组等和php用来显示表单,我们可能可以帮助准确地确定它,如果你告诉我们你使用的是哪个版本的Joomla