繁体   English   中英

joomla在视图之间传递变量

[英]joomla pass variable between views

我正在编写一个joomla组件,这个组件将有一个多步骤表单进行注册,第一个包含2个单选按钮。 将变量从radiobutton传递到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));
    }

}

我想将无线电中的值传递给step2;)

希望我没有错过任何关于此的话题,至少找不到一个!

在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);

最后,如果要在视图模板中访问它(例如default.php)

<?php echo $this->placement; ?>

我刚刚解决了Joomla这样的问题。 我做的很简单,工作正常。

1)我在文章的html编辑器中创建了一篇带有表单的文章。

2)在这篇文章的html代码中,对于我给出的表单方法=“POST”action =“child.php”。

3)现在,child.php是我的joomla安装文件夹中的一个页面,它的html页面与我的模板布局,链接和文章等完全一样。所以,我把child.php看成和我网站上的任何其他页面一样的页面,还有里面的表格。

4)在这个child.php里面有一个表格。 然后我想从文章填充其中的表格,我给出了值=“?php echo $ _POST ['VARIABLE'];?”,其中VARIABLE是我的html表单文章的字段的名称。

所以,就是这样,现在我的文章html表单将我重定向到child.php页面,child.php填充了我之前的html文章的变量。

暂无
暂无

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

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