XOOPS模块开发快速入门中文翻译(二)

XOOPS模块开发快速入门中文翻译(二)由于这两天一直研究XOOPS的模块,所以找到了这篇很好的模块开发快速入门。看了以后,就兴致勃勃的来开发模块了,可是开发的过程中遇到一些问题。应该是我看的太快了,要学而时习之啊。因此翻译在这里。=

大家好,又见面了,我是你们的朋友全栈君。    由于这两天一直研究XOOPS的模块,所以找到了这篇很好的模块开发快速入门。

看了以后,就兴致勃勃的来开发模块了,可是开发的过程中遇到一些问题。

应该是我看的太快了,要学而时习之啊。因此翻译在这里。

==============

作者:Surance Yin

邮箱:Suranceyin@yahoo.com.cn

主页:http://www.fltek.com.cn

=================

使用 index.php

明白了 xoops_version 吧,现在就可以安装模块了!

当模块安装好后,单击主菜单的“tutorial”,可以看到一个空白的页面。下载打开index.php.

<?php
// Tutorial
// Created by KaotiK
require(‘http://www.cnblogs.com/mainfile.php’);
require(XOOPS_ROOT_PATH.’/header.php’);

require(XOOPS_ROOT_PATH.’/footer.php’);
?>

这里有3行新的语句。我们的代码就要写在“…header” “….footer”之间。我们来测试一下,输入以下代码:

<?php
// Tutorial
// Created by KaotiK
require(‘http://www.cnblogs.com/mainfile.php’);
require(XOOPS_ROOT_PATH.’/header.php’);

echo “Hello world!”;

require(XOOPS_ROOT_PATH.’/footer.php’);
?>

好,现在如果单击主菜单的 “tutorial” 就会看到 “Hello world!”了!

创建一个列表

这一步开始,我们替代掉刚才一个测试,来做一个真正的列表!

将以下代码:

echo “Hello world!”;

替换为

$member_handler =& xoops_gethandler(‘member’);
$foundusers =& $member_handler->getUsers();
foreach (array_keys($foundusers) as $j) {
echo $foundusers[$j]->getVar(“uname”).'<br>’;
}

在主菜单上单击tutorial,可以看到目前在线用户的列表。好,现在我们来逐行看代码。第一行得到了一个关于用户的句柄(可以理解为关于用户的一个操作函数集合),并且这个句柄赋给 $member_handler. 第二行抓取到所有的用户,并存放到$foundusers这个数组变量里面.然后用 foreach来循环所有的用户.
警告: 这个例子只适合于用户比较少的系统。

$member_handler =& xoops_gethandler(‘member’);
$foundusers =& $member_handler->getUsers();
foreach (array_keys($foundusers) as $j) {
//echo $foundusers[$j]->getVar(“uname”).'<br>’;
print_r($foundusers[$j]);
echo ‘<br><br><br>’;
}

这个函数显示了用户的所有变量,看起来是一个很长的列表。

继续,我们要格式化这个列表,显示更多的信息。

首先,创建一个表头。这里用的方法只是适合“快速入门”的,但是并不一定是最正确的方法。之后,我们会讲述怎么用一个更科学的办法。.
为了避免你混淆,我展示一下index.php

<?php
// Tutorial
// Created by KaotiK
require(‘http://www.cnblogs.com/mainfile.php’);
require(XOOPS_ROOT_PATH.’/header.php’);
?>
<table width=”100″ border=”0″>
<tr>
<td bgcolor=”#99CC99″>Name</td>
<td bgcolor=”#66CC99″>Email</td>
</tr>
</table>
<?php
require(XOOPS_ROOT_PATH.’/footer.php’);
?>

现在在主菜单上点击tutorial 你会看到一个含有Name Email的表头. 现在,我们给这个表一些数据。

<?php
// Tutorial
// Created by KaotiK
require(‘http://www.cnblogs.com/mainfile.php’);
require(XOOPS_ROOT_PATH.’/header.php’);
?>
<table width=”100″ border=”0″>
<tr>
<td bgcolor=”#99CC99″>Name</td>
<td bgcolor=”#66CC99″>Email</td>
</tr>
<?php
$member_handler =& xoops_gethandler(‘member’);
$foundusers =& $member_handler->getUsers();
foreach (array_keys($foundusers) as $j) {
echo ‘<tr><td>’.$foundusers[$j]->getVar(“uname”).'</td><td>’.$foundusers[$j]->getVar(“email”).'</td></tr>’;
}
?>
</table>
<?php
require(XOOPS_ROOT_PATH.’/footer.php’);
?>

在主菜单上点击tutorial ,可以看到含有“用户名”、“邮箱”两列的表.。不过这个代码看起来很傻,我们改变一下:

<?php
// Tutorial
// Created by KaotiK
require(‘http://www.cnblogs.com/mainfile.php’);
require(XOOPS_ROOT_PATH.’/header.php’);

echo ‘<table width=”100″ border=”0″>
<tr>
<td bgcolor=”#99CC99″>Name</td>
<td bgcolor=”#66CC99″>Email</td>
</tr>’;
$member_handler =& xoops_gethandler(‘member’);
$foundusers =& $member_handler->getUsers();
foreach (array_keys($foundusers) as $j) {
echo ‘<tr><td>’.$foundusers[$j]->getVar(“uname”).'</td><td>’.$foundusers[$j]->getVar(“email”).'</td></tr>’;
}
echo ‘</table>’;
require(XOOPS_ROOT_PATH.’/footer.php’);
?>

好多了吧!一样的结果,但是代码看起来干净很多。现在我们要应用更多的xoops标准。首先,采用语言文件来替换nameemail。创建一个文件夹,命名为language (注意: 文件夹名称必须为小写.)。在这个文件夹中再创建子文件夹english. english 文件夹中创建文件main.php. main.php里面输入:

<?php
define(‘TT_NAME’,’Name’);
define(‘TT_EMAIL’,’Email’);
?>

在这个文件夹中创建文件 modinfo.php ,输入:

<?php

?>

为什么要创建2个常量来代替文本呢?这样是为了支持多语言。打开index.php  ,将代码改为:

<?php
// Tutorial
// Created by KaotiK
require(‘http://www.cnblogs.com/mainfile.php’);
require(XOOPS_ROOT_PATH.’/header.php’);

echo ‘<table width=”100″ border=”0″>
<tr>
<td bgcolor=”#99CC99″>
‘.TT_NAME.’</td>
<td bgcolor=”#66CC99″>
‘.TT_EMAIL.’</td>
</tr>’;
$member_handler =& xoops_gethandler(‘member’);
$foundusers =& $member_handler->getUsers();
foreach (array_keys($foundusers) as $j) {
echo ‘<tr><td>’.$foundusers[$j]->getVar(“uname”).'</td><td>’.$foundusers[$j]->getVar(“email”).'</td></tr>’;
}
echo ‘</table>’;
require(XOOPS_ROOT_PATH.’/footer.php’);
?>

很好,现在,我们在模块中使用了语言文件.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155288.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月2日 下午1:16
下一篇 2022年7月2日 下午1:16


相关推荐

  • pychram 激活码-激活码分享

    (pychram 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    50
  • J2EE开发技术基础入门

    J2EE开发技术基础入门J2EE 开发技术基础入门开发者在线 Builder com cn 更新时间 2008 06 12 作者 来源 IT 专家网本文关键词 入门基础 J2eeJAVA 一 J2EE 的概念 目前 Java2 平台有 3 个版本 它们是适用于小型设备和智能卡的 Java2 平台 Micro 版 Java2Platfor J2ME 适用于桌面系统的 Java2 平台标准版 Ja

    2026年3月5日
    19
  • win10多合一原版系统_微软Win10专业版制作多合一系统安装盘教程

    win10多合一原版系统_微软Win10专业版制作多合一系统安装盘教程微软Win10怎么制作多合一系统安装盘?和Win10家庭版、win10企业版,win10教育版相比,微软Win10专业版是最受大家喜欢的操作系统,那么在安装Win10操作系统的时候,我们就不得不准备多个不同版本的系统安装盘。可是你知道微软Win10专业版制作多合一系统安装盘怎么操作吗?下面系统天地小编给大家介绍微软Win10专业版制作多合一系统安装盘教程。微软Win10专业版制作多合一系统安装盘教…

    2022年6月26日
    61
  • 运维mysql数据库面试题_运维面试题之数据库

    运维mysql数据库面试题_运维面试题之数据库mysql篇:mysql主从复制原理?mysql的复制是基于3个线程1、master上的binlogdump线程负责把binlog事件传到slave2、slave上面的IO线程负责接收binlog事件,并写入relaylog3、save上面的SQL线程负责读取relaylog并执行innodb和myisam引擎的主要区别?InnoDB支持事物,MyISAM不支持InnoDB支持外键,M…

    2022年5月2日
    45
  • linux环境nginx启动命令_linux查看redis版本

    linux环境nginx启动命令_linux查看redis版本命令:/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf、、、、、、、、、、、[root@localhostsbin]#ps-ef|grepnginxroot239571015:30?00:00:00nginx:masterprocess/usr/local/ng…

    2022年10月5日
    7
  • 不是单组分组函数「建议收藏」

    不是单组分组函数「建议收藏」问题:一:SELECT tablespace_name, SUM(bytes) freeFROM dba_free_space不是单组分组函数原因: 1、如果程序中使用了分组函数,则有两种情况可以使用:程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来改为:  SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spa…

    2022年6月30日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号