Joomla!-开源天空

2008-10-12
首页 专栏热点 Joomla! 源代码分析 Joomla!扩展制作实例教程-模板展示组件-如何数据表增加一个字段


Joomla!扩展制作实例教程-模板展示组件-如何数据表增加一个字段

E-mail

经过前几篇文章的工作,我们已经完成了一个后台的分页列表显示,所及即所得的记录添加删除和修改的功能。本篇文章,我们来展示一下,如何处理数据表结构的变化。回过头来,我们再看看我们已经创建的数据表,我们发现没有上传时间,而这一项对于用户来说是一项有价值的参考数据,现在我们就来增加一项数据 uptime,因为我习惯用整数来表示时间,所以这里还是设置为整数。

第一步,数据表增加字段,用你习惯工具,我用mysql client ,登录,执行:

alter table add column uptime int(11) default 0;

执行后,数据表增加了一列。

第二步,修改 tables目录下的showcase.php 增加一行:

var $uptime=null;

第三步,修改 model目录下的showcase.php

在getData 函数中增加一行:

$this->_data->uptime=null;

在store函数,bind details 之前一行,增加:

$details['uptime']=time();

我们去记录保存的时间作为上传的时间。

现在,我们就完成了一个字段的增加,非常简单。

修改后的 model目录下的showcase.php 的store函数,和getData函数如下:

 function &getData()
 {
  if (empty( $this->_data )) {
   $query = ' SELECT * FROM #__showcase '.
     '  WHERE id = '.$this->_id;
   $this->_db->setQuery( $query );
   $this->_data = $this->_db->loadObject();
  }
  if (!$this->_data) {
   $this->_data = new stdClass();
   $this->_data->id=0;
   $this->_data->catid=null;
   $this->_data->title=null;
   $this->_data->description=null;
   $this->_data->imgfilename=null;
   $this->_data->imgthumbname=null;
   $this->_data->urlhome=null;
   $this->_data->urldemo=null;
   $this->_data->urldownload=null;
   $this->_data->license=null;
   $this->_data->rank=null;
   $this->_data->developer=null;
   $this->_data->email=null;
   $this->_data->version=null;
   $this->_data->hits=null;
   $this->_data->downloads=null;
   $this->_data->uptime=null;
  }
  return $this->_data;
 }

 function store() {
  $row =& $this->getTable();
 
  $id = JRequest::getVar('id');
  $details = JRequest::getVar( 'details', array(), 'post', 'array');
  $details['uptime']=time();

  if (!$row->bind($details)) {
   $this->setError($this->_db->getErrorMsg());
   return false;
  }
  
  if(intval($id)>0){
   $row->id= $id;
  }
  
  if (!$row->check()) {
   $this->setError($this->_db->getErrorMsg());
   return false;
  }

  if (!$row->store()) {
   $this->setError( $row->getErrorMsg() );
   return false;
  }

  return true;
 }

这样我们就完成了给数据表增加一列字段。

相关文章:
Joomla! 1.5 API 中文手册(作者:aivera)
Joomla!扩展制作实例教程-模板展示组件-前台路径设置
Joomla!扩展制作实例教程-模板展示组件-前台最终页面
Joomla!扩展制作实例教程-模板展示组件-前台列表页面
Joomla!扩展制作实例教程-模板展示组件-增加后台上传图片功能
Joomla!扩展制作实例教程-模板展示组件-整理后台列表页面,增加列表分页功能
Joomla!扩展制作实例教程-模板展示组件-后台增加所见即所得编辑器
Joomla!扩展制作实例教程-模板展示组件-后台记录增加和修改程序
Joomla!扩展制作实例教程-模板展示组件-创建组件框架
Joomla!扩展制作实例教程-模板展示组件-前言


收藏此文章:
Digg! Reddit! Del.icio.us! JoomlaVote! Google! Live! Facebook! StumbleUpon! Yahoo! Free social bookmarking plugins and extensions for Joomla! websites!
User Reviews(1)
 写得很好
作者:dong57007 星期五, 05 九月 2008 21:18
非常感谢

发表您的文章评论

您的姓名 (昵称)
标题:
评分: 很差一般较好很好
评论:
验证码:
请输入验证码