繁体   English   中英

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.加载表单数据时,将第二个参数发送为true: $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;
    }

就这样。

我不清楚您要问什么,但是如果您使用的是标准JForm并将其插入类似以下内容,则不是100%清楚:

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

您表单中的字段名称可能不是city ,更可能是这样的:

`jform[articletext]`

如果您可以添加更多的XML文件,那么我们可以看到分组等以及用于显示表单的php ,我们可能可以准确地将其固定下来,如果您告诉我们所使用的Joomla版本,也将有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM