同样 JController 是MVC中重要的起点,正式这个类决定的动作的下一步流向,我们来看看表格提交数据的典型的controller的代码:
function edit()
{
JRequest::setVar( 'view', 'hello' );
JRequest::setVar( 'layout', 'form' );
JRequest::setVar('hidemainmenu', 1);
parent::display();
}
/**
* save a record (and redirect to main page)
* @return void
*/
function save()
{
$model = $this->getModel('hello');
if ($model->store($post)) {
$msg = JText::_( 'Greeting Saved!' );
} else {
$msg = JText::_( 'Error Saving Greeting' );
}
// Check the table in so it can be edited.... we are done with it anyway
$link = 'index.php?option=com_hello';
$this->setRedirect($link, $msg);
}
/**
* remove record(s)
* @return void
*/
function remove()
{
$model = $this->getModel('hello');
if(!$model->delete()) {
$msg = JText::_( 'Error: One or More Greetings Could not be Deleted' );
} else {
$msg = JText::_( 'Greeting(s) Deleted' );
}
$this->setRedirect( 'index.php?option=com_hello', $msg );
}
/**
* cancel editing a record
* @return void
*/
function cancel()
{
$msg = JText::_( 'Operation Cancelled' );
$this->setRedirect( 'index.php?option=com_hello', $msg );
}
实际上 controller 跟提交的task参数,调用controller中的不同的函数,当然默认会调用display ,我觉得还需要记住的就是
getModel ,和setRedirect ,其余函数用到再看就可以了。
function edit()
{
JRequest::setVar( 'view', 'hello' );
JRequest::setVar( 'layout', 'form' );
JRequest::setVar('hidemainmenu', 1);
parent::display();
}
/**
* save a record (and redirect to main page)
* @return void
*/
function save()
{
$model = $this->getModel('hello');
if ($model->store($post)) {
$msg = JText::_( 'Greeting Saved!' );
} else {
$msg = JText::_( 'Error Saving Greeting' );
}
// Check the table in so it can be edited.... we are done with it anyway
$link = 'index.php?option=com_hello';
$this->setRedirect($link, $msg);
}
/**
* remove record(s)
* @return void
*/
function remove()
{
$model = $this->getModel('hello');
if(!$model->delete()) {
$msg = JText::_( 'Error: One or More Greetings Could not be Deleted' );
} else {
$msg = JText::_( 'Greeting(s) Deleted' );
}
$this->setRedirect( 'index.php?option=com_hello', $msg );
}
/**
* cancel editing a record
* @return void
*/
function cancel()
{
$msg = JText::_( 'Operation Cancelled' );
$this->setRedirect( 'index.php?option=com_hello', $msg );
}
实际上 controller 跟提交的task参数,调用controller中的不同的函数,当然默认会调用display ,我觉得还需要记住的就是
getModel ,和setRedirect ,其余函数用到再看就可以了。
发表评论
-
joomla 模块modules开发教程
2010-05-12 14:16 2800模块是页面扩展轻量级方式,相对组件更为灵活。模块通常用来做页面 ... -
joomla 1.5——JDocument类用法
2010-04-22 14:46 1391文档类,提供一个容易 ... -
[翻译] Joomla XML 解析器规范 上
2010-04-22 14:45 1079概述 Joomla! 1.5 新增 JSimpleXML 类 ... -
Joomla插件开发规范
2010-04-22 14:44 1407概述:JPlugin Joomla 1.5的新功能 为了更好 ... -
joomla源代码探析续(三十一) JHTML 类常用的方法
2010-04-22 14:37 1740我曾经在几篇文章中涉及到JHTML的方法使用,这里不再说了,请 ... -
joomla源代码探析续(三十) JDate类参考
2010-04-22 14:36 1082JDate类与JString类一样是Joomla!中的基础类, ... -
joomla源代码探析续(二十九) JHTML 与JHTMLSelect 类的使用
2010-04-22 14:33 1207我们在form表单生成的过程中,经常需要有select 标签或 ... -
joomla源代码探析续(二十八) 如何扩展JTable类
2010-04-22 14:30 1063JTable类是Active Record设计模式(web应用 ... -
joomla源代码探析续(二十七)组件后台如何设置参数
2010-04-22 14:29 927以下的方法可以在管理后台中添加一个Parameters设置的按 ... -
joomla源代码探析续(二十六)JUser对象和用户权限判断
2010-04-22 14:23 1862每一个访问Joomla网站的用户都对应这一个JUser对象,通 ... -
joomla源代码探析续(二十五)JRequest对象的变量获取过程
2010-04-22 14:22 1184Joomla 1.5 RC3版本的SEF存在不少问题,前段时间 ... -
joomla源代码探析续(二十四)JPagination类
2010-04-22 14:22 1127JPagination类是Joomla的通用分页功能的封装类, ... -
Joomla源代码解析(二十二) 模块是如何被调用执行并渲染(下)
2010-04-22 14:16 953上一文章中提到了getBuffer函数,在函数中实际上调用了r ... -
模块是如何被调用执行并渲染?
2010-04-22 14:12 853以前的文章中,关于/index.php我们已经分析完了 $ma ... -
Joomla源代码解析(二十) MVC组件的执行
2010-04-22 14:10 928以前的文章中,我们曾经说过 $mainframework-&g ... -
Joomla源代码解析(十八) Jview
2010-04-22 14:03 973MVC模式中,重要的一环,JView 和 tmpl目录中的模板 ... -
Joomla源代码解析(十六) JTable是什么 不指定
2010-04-22 14:01 1461JTable是什么? JTable是数据库中数据表在程序中的表 ... -
Joomla源代码解析(十五) 组件是如何被调用并渲染的
2010-04-22 14:00 1444Joomla代码中, 组件是如 ... -
Joomla源代码解析(十四) JRequest类 不指定
2010-04-22 13:58 865这是另一个Joomla扩展中最常用的类,这个类封装了客户端提交 ... -
Joomla源代码解析(十三) JText类
2010-04-22 11:25 1224Joomla 最常用的类之一,使用方式JTEXT::_('JJ ...
相关推荐
**Joomla 2.5.16 源代码详解** Joomla,作为一个开源的内容管理系统(CMS),在网站开发领域有着广泛的应用。Joomla 2.5.16 是该系统的一个版本,提供了丰富的功能和易用性,适用于构建各种类型的网站,包括企业...
本篇将深入探讨Joomla组件开发的详细过程,并结合源代码进行解析。 一、Joomla组件概述 在Joomla中,组件是最大的功能单元,它由多个部分组成,包括模型、视图、控制器、模板和语言文件等。组件开发涉及以下几个...
9. **博客平台和CMS**:除了从头编写源代码,许多人也会选择使用WordPress、Joomla或Ghost等博客平台或内容管理系统,它们提供丰富的主题和插件,使得非程序员也能轻松搭建和管理博客。 10. **性能优化**:通过压缩...
比较详细的分析joomla1.5源码。可以对应着源码一起学习
**Joomla代码分析** Joomla是一款非常流行的开源内容管理系统(CMS),它允许用户轻松地创建、管理和...通过深入研究和实践,开发者可以充分利用Joomla的开放源代码特性,实现各种定制化需求,创造出独具特色的网站。
### Joomla第三方登录开发详解 #### 一、概述 在当今互联网时代,为了提高用户体验和方便用户登录,许多网站都引入了第三方登录功能。对于使用Joomla构建的网站来说,实现第三方登录同样非常重要。本文将详细介绍...
Joomla是一种开源的内容管理系统(CMS),它以其强大的功能和易用性在全球范围内受到广泛的欢迎。然而,尽管Joomla被公认为世界上最优秀的CMS之一,但在中国的普及和发展却面临着一些挑战。 首先,Joomla在中国的...
源代码的分析和理解对于想要深入研究网站开发或者计划使用Joomla!构建网站的人来说非常重要。通过掌握Joomla!的架构和功能,开发者能够更高效地利用这一强大的工具,创建出满足需求的网站。同时,持续关注和学习新...
joomla漏洞利用代码,影响版本joomla1.5-3.4.最开始检测到利用该漏洞实施入侵的是 Securi 安全团队
**Joomla 免费企业模板详解** Joomla 是一款开源的内容管理系统(CMS),它允许用户构建网站和在线应用程序,而无需深入的编程知识。在本文中,我们将详细探讨"Joomla 免费企业模板"这一主题,分析这些模板如何帮助...
3. **LICENSE.txt**: 这个文件包含了Joomla的许可协议,Joomla遵循GNU General Public License v2或更高版本,这意味着你可以自由地使用、修改和分发Joomla源代码,但需遵守其中的版权和开源规定。 4. **README.txt...
【CMS源代码研究】 在IT领域,CMS(Content Management System,内容管理系统)是构建网站的常用工具,它允许用户无需深入了解编程技术即可管理网站内容。本主题将深入探讨CMS的源代码,帮助开发者理解其工作原理,...
婚纱摄影网站源代码是用于构建专业且美观的在线平台,以展示婚纱摄影服务、作品集、价格套餐以及预约系统的关键元素。本源代码设计的主要目标是提供一个用户体验良好、视觉吸引力强的网站模板,帮助摄影师或婚纱摄影...
它的内容不仅覆盖了从基础到高级的各个层面,而且由于Joomla的源代码不断更新,书中的一些信息可能不完全准确,但这并不影响其对Joomla插件开发者的指导价值。值得一提的是,本书由Jisse Reitsma撰写,Yireo ...
【标签】"JOOMLA源码"进一步强调了这个主题的重点,即与Joomla相关的编程源代码,这通常对那些希望进行高级定制或者开发Joomla扩展的开发者特别有用。 【压缩包子文件的文件名称列表】中的文件是构成一个Joomla模板...
Joomla CSS JS代码压缩插件是一款专为Joomla内容管理系统设计的优化工具,适用于Joomla 2.5和Joomla 3X版本。这个插件的主要功能是将网站中的CSS和JavaScript代码进行压缩和合并,以提高网页加载速度,减少HTTP请求...
`Joomla\CMS\Menu\MenuHelper` 可以帮助开发者动态生成菜单项,而 `Joomla\CMS\Route\Route` 类则用于生成和解析 URL 路由。 7. **国际化与语言管理** `JText` 类是 Joomla 的文本翻译工具,它允许开发者轻松地在...
5. RSS/Atom订阅:博客通常提供RSS或Atom订阅功能,通过解析和生成这些XML格式的数据,源代码可以展示如何实现新闻聚合功能。 6. 内容管理:了解如何设计和实现一个内容管理系统,包括文章发布、分类、标签、评论...
【标签】"房地产源码"表明该组件的核心是源代码,这意味着用户可以深入修改和定制组件的功能,以满足特定需求。源码提供了一种灵活性,允许开发者根据目标市场、业务规则和用户体验进行调整。 【压缩包子文件】中列...