组件模块中的 Joomla 过滤器表单,自动填充字段
Posted
技术标签:
【中文标题】组件模块中的 Joomla 过滤器表单,自动填充字段【英文标题】:Joomla filter form in module for component, auto fill fields 【发布时间】:2015-07-05 17:59:32 【问题描述】:我需要将自定义组件过滤器表单从组件视图移到模块中。
在模块中,我从 xml 加载表单结构:
$form = &JForm::getInstance('myform', JPATH_ROOT.'/components/com_man/models/forms/filter_oferty.xml');
我通过以下方式捕获已发布的变量并将它们置于状态:
if ($filters = $app->getUserStateFromRequest('com_man.oferty.filter', 'filter', array(), 'array'))
foreach ($filters as $name => $value) $app->setUserState('filter.' . $name, $value);
我使用:
<?php echo $form->getInput('search', 'filter'); ?>
要在模块中放置字段,表单可以工作,但我无法制作表单以在请求后自动填写字段中的已发布变量。我想念什么? Joomla 如何设置这些值?
【问题讨论】:
请通过Joomla Stack Exchange 询问您与 Joomla 相关的问题;) 【参考方案1】:如果有人需要,我找到了在模块中制作简单表单的解决方案:
加载表单表单xml:
$form = &JForm::getInstance('myform', JPATH_ROOT.'/components/com_man/models/forms/filter_oferty.xml');
通过:
将字段放入html中<?php echo $form->getInput('search', 'filter',$filters['search']); ?>
第三个参数是默认视图。不需要使用状态。
【讨论】:
以上是关于组件模块中的 Joomla 过滤器表单,自动填充字段的主要内容,如果未能解决你的问题,请参考以下文章
在我的 Joomla 组件的首选项中为表单字段定义过滤器功能的位置