[英]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.