带表单的joomla模块开发-如何处理

标签 joomla joomla2.5

我正在创建一个简单的 Joomla 2.5 模块,它将有一个 html 表单。
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">

或类似的东西?提前致谢。

最佳答案

是的,您应该在模块助手类中进行表单处理。将任何逻辑保留在模板文件之外,您可以使用 mod_mymodule.php在包含 View 文件之前调用辅助方法并分配变量。

不要设置为表单 Action 帮助文件!我认为在您的情况下操作应该是同一页面,因此您也可以省略操作 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'));

关于带表单的joomla模块开发-如何处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059289/

相关文章:

C#/VB.net 和点击 javascript 不起作用

php - joomla中如何获取此组件的布局到其他组件

php - 如何创建一个按钮来关闭 joomla 2.5 中的事件 session

php - 为什么我的 Joomla! 2.5 扩展安装内容从 admin 目录到 joomla 而不是从 site 目录? (可下载代码)

html - PSD 到 Joomla 转换教程

php - 带有参数的joomla mysql查询

javascript - Virtuemart 2.0 模块购物车,jQuery

php - 使用 Ajax 查询的 joomla 组件开发

javascript - 如何删除 IE7 的 JavaScript 函数

html - 在 Internet Explorer 中左浮动 <img> 和 <ul>