1

私はjoomlaコンポーネントをプログラミングしている最中です。このコンポーネントには、登録用の複数のステップのフォームがあり、最初のフォームには2つのラジオボタンが含まれています。ラジオボタンからステップ2に変数を渡す最も簡単な方法は何ですか?ユーザーが最初のフォームを送信すると、コントローラーが呼び出されて2番目のステップが表示されますが、これに対するより簡単なアプローチはありますか?前もって感謝します。

コード:

フォームのステップ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に値を渡したいです;)

私はこれに関するトピックをすでに見逃していないことを願っています、少なくとも1つを見つけることができませんでした!

4

2 に答える 2

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) で、同じ方法でオプションにアクセスできます (今回は、値は POST ではなく GET にあります)。

$placementOption = JRequest::getInt('placement', 0, 'get');

$this->assignRef('placement', $placementOption);

最後に、ビュー テンプレート (例: default.php) でアクセスする場合

<?php echo $this->placement; ?>
于 2012-05-09T11:01:23.023 に答える
0

Joomlaでそのような問題を解決しました。私がしたことは単純で、うまく機能します。

1)記事のhtmlエディター内にフォームを使用して記事を作成しました。

2)記事のこのhtmlコードで、私がフォームmethod = "POST" action="child.php"を指定したフォームに対して。

3)これで、child.phpは、私のjoomlaインストールフォルダー内のページであり、テンプレートレイアウト、リンク、記事などとまったく同じhtmlページがあります。そこで、child.phpを自分のWebサイトの他のページと同じように見えるページにしました。 、だけでなく、その中にフォームがあります。

4)このchild.phpの中にフォームがあります。次に、記事からフォームを入力するフィールドにvalue = "?php echo $ _POST ['VARIABLE'] ;?"を指定しました。ここで、VARIABLEは私のhtmlフォーム記事のフィールドの名前です。

これで、私の記事のhtmlフォームがchild.phpページにリダイレクトされ、child.phpに以前のhtml記事の変数が入力されます。

于 2013-01-18T10:25:22.673 に答える