7

HTMLフォームを持つ単純なJoomla 2.5モジュールを作成しています。

mod_mymodule/tmpl/default.php:

<form method="post" id="myemailform" action="">
    <label for="ReferralName">Enter Name:</label><input type="text" name="name" value="<?php echo modCamcloudReferralHelper::getReferralName(); ?>">
    <label for="ReferralEmail">Enter Email Address:</label><input type="text" name="email">
    <label for="ReferralMessage">Enter Message (optional):</label><textarea class="message"></textarea>
    <span class="countdown"></span>
    <button type="submit" value="Send Email">Send Email</button>
    <?php echo JHtml::_('form.token'); ?>   
</form>

私はヘルパークラスを持っています:

mod_mymodule/helper.php-これにはいくつかのユーティリティ関数が含まれています。

私の質問は、サーバー側でフォームを処理するための通常の規則は何ですか。人々が行ったことの例を見つけようとしましたが、何も見つからないようです。すべてをヘルパー クラスに入れるだけですか。

<form method="post" id="myemailform" action="..\helper.php">

それともそのようなものですか?前もって感謝します。

4

1 に答える 1

4

はい、モジュール ヘルパー クラスでフォーム処理を行う必要があります。テンプレート ファイルからロジックを除外するとmod_mymodule.php、ビュー ファイルをインクルードする前にヘルパー メソッドを呼び出して変数を割り当てることができます。

フォーム アクション ヘルパー ファイルとして設定しないでください。あなたの場合、アクションは同じページでなければならないと思うので、アクションURLを省略することもできます。

編集:コメントで要求されたように、これはあなたのコンテンツになりますmod_mymodule.php

// include helper file
require_once dirname(__FILE__).'/helper.php';
// call some method of the helper class
$items = modMymoduleHelper::getItems();

$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
// render view file from mod_mymodule/tmpl/default.php, $items is available in the view file
require JModuleHelper::getLayoutPath('mod_mymodule', $params->get('layout', 'default'));
于 2013-02-25T08:28:48.113 に答える