如何创建一个MVC模式的Joomla组件教程(九) 使用数据库下

你可能看到了表的前缀非常奇怪。Joomla将替换这个前缀,用安装时候指定的内容。对于通常的安装,这个表名将是jos_hello,这样可以多个安装使用一个数据库,并且能够避免表名冲突。

表中有两个字段,一是id,是主键,一是greeting.

以上内容保存在 install.utf.sql.

创建卸载sql文件


尽管我们希望永远不必卸载组件,然而卸载也是重要的。Joomla将自动找到需要删除的文件和目录,可是必须要将删除表的sql语句写在安装文件中。语句如下:

DROP TABLE IF EXISTS `#__hello`;

保存在 uninstall.utf.sql中.

新的安装文件如下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">
<install type="component" version="1.5.0">
   <name>Hello</name>
   <!-- The following elements are optional and free of formatting conttraints -->
   <creationDate>2007 02 22</creationDate>
   <author>John Doe</author>
   <authorEmail> john.doe@example.org 为防备电子邮件地址收集器,这个 E-mail 地址被隐藏,你的浏览器必须支持 Javascript 才可看到这个邮件地址 </authorEmail>
   <authorUrl>http://www.example.org</authorUrl>
   <copyright>Copyright Info</copyright>
   <license>License Info</license>
   <!--  The version string is recorded in the components table -->
   <version>Component Version String</version>
   <!-- The description is optional and defaults to the name -->
   <description>Description of the component ...</description>

   <!-- Site Main File Copy Section -->
   <files folder="site">
      <filename>index.html</filename>
      <filename>hello.php</filename>
      <filename>controller.php</filename>
      <filename>views/index.html</filename>
      <filename>views/hello/index.html</filename>
      <filename>views/hello/view.html.php</filename>
      <filename>views/hello/tmpl/index.html</filename>
      <filename>views/hello/tmpl/default.php</filename>
      <filename>models/hello.php</filename>
   </files>
   <install>
      <sql>
         <file charset="utf8" driver="mysql">install.sql</file>
      </sql>
   </install>
   <uninstall>
      <sql>
         <file charset="utf8" driver="mysql">uninstall.sql</file>
      </sql>
   </uninstall>  
   <administration>
      <!-- Administration Menu Section -->
      <menu>Hello World!</menu>
     
      <!-- Administration Main File Copy Section -->
      <!-- Note the folder attribute: This attribute describes the folder
         to copy FROM in the package to install therefore files copied
         in this section are copied from /admin/ in the package -->
      <files folder="admin">
   <!-- Site Main File Copy Section -->
         <filename>index.html</filename>
         <filename>admin.hello.php</filename>
         <filename>install.sql</filename>
         <filename>uninstall.sql</filename>
      </files>     
   </administration>
</install>


在install和uninstall部分,file标签中指定了charset和driver,目前唯一合法的charset是utf-8,如果想在非utf8数据库创建表,可以忽略这个属性。driver属性目前只能是mysql,将来Joomla可能支持更多数据库。

posted on 2009-12-26 22:00  14的路  阅读(678)  评论(0编辑  收藏  举报

导航

友情链接:源码下载