我正在编写一个 joomla 组件,这个组件将有一个用于注册的多步骤表单,第一个包含 2 个单选按钮。将变量从单选按钮传递到 step2 的最简单方法是什么?当用户提交第一个表单时,控制器被调用以显示第二步,是否有更简单的方法?提前谢谢。
法典:
表单的步骤 1(查看代码):
<form name="step1" action="<?php echo JRoute::_('index.php option=com_mycomponent&task=mycomponent.register'); ?>" method="POST">
<input type="radio" name="placement" value="0" checked /> Option 1<br />
<input type="radio" name="placement" value="1" /> Option 2<br />
<div class="next" onClick="document.forms['step1'].submit();"></div>
</form>
用于处理 mycomponent.register 的控制器代码
class mycomponentControllermycomponent extends JController
{
public function register()
{
$this->setRedirect(JRoute::_('index.php?option=com_mycomponent&view=default&layout=step2', false));
}
}
我想将值从无线电传递到步骤2;)
希望我没有错过有关此主题的话题,至少找不到
在 register 方法中,您可以访问无线电值,然后将其在链接到您的视图中:
public function register()
{
$placementOption = JRequest::getInt('placement', 0, 'post');
$this->setRedirect(JRoute::_('index.php?option=com_mycomponent&view=default&layout=step2&placement=' . $placementOption, false));
}
在步骤 2(view.html.php)视图中,您可以以相同的方式访问该选项(这次值在 GET 而不是 POST 中):
$placementOption = JRequest::getInt('placement', 0, 'get');
$this->assignRef('placement', $placementOption);
最后,如果您想在视图模板中访问它(例如默认.php)
<?php echo $this->placement; ?>
我刚刚在Joomla中解决了这样的问题。我所做的很简单,效果很好。
1)我在文章的html编辑器中创建了一个带有表单的文章。
2)在文章的这个html代码中,对于我给出的形式 表单方法="POST"操作="子.php"。
3)现在,孩子.php是我的joomla安装文件夹中的一个页面,其html页面与我的模板布局,链接和文章等完全相同。所以,我做了孩子.php一个看起来像我网站上任何其他页面的页面,但里面还有一个表单。
4)在这个孩子的内心.php有一个形式。然后我想从文章中填充的字段,其中包含我给出的表单value="?php echo $_POST['VARIABLE']; ?",其中 VARIABLE 是我的字段的名称HTML 表单文章。
所以,就是这样,现在我的文章 html 表单将我重定向到 child.php 页面和 child.php 填充了我以前的 html 文章的变量。