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’);
?>

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)

    树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936本文章博客地址:https://blog.csdn.net/qq21497936/article/details/102524577目录前话Demo运行效果Demo:电压模拟量采集ADS1115实物特点引脚图与访问地址多个ADS1115连接(单级…

    2022年10月25日
  • 数据库之联合索引

    数据库之联合索引联合索引使用结论:  1):查询条件中出现联合索引第一列,或者全部,则能利用联合索引.  2):条件列中只要条件相连在一起,以本文例子来说就是:  last_name=’1′andfirst_name=’1′  与  first_name=’1′andlast_name=’1′  ,无论前后,都会利用上联合索引.  3):查询条件中没有出现

  • POSIT算法的原理–opencv 3D姿态估计[通俗易懂]

    POSIT算法的原理–opencv 3D姿态估计[通俗易懂]3D姿态估计-POSIT算法 POSIT算法,PosefromOrthographyandScalingwithIterations, 比例正交投影迭代变换算法:用于估计物体的3D姿态(相对于镜头的平移和旋转量)。算法正常工作的前提是物体在Z轴方向的“厚度”远小于其在Z轴方向的平均深度,比如距离镜头10米远的一张椅子。 算法流程:假设待求的姿态,包括旋转矩阵R和

    2022年10月23日
  • linux ip 配置及配置保存

    linux ip 配置及配置保存1配置IP#改对应网卡配置IP ifconfigeth010.120.16.82/24#配置默认路由routeadddefaultgw10.120..16.1#利用route命令配置路由如将192.168.20.X的ip路由到192.168.20.254网关routeadd-net192.168.20.0/24gw192.168.20.25

  • Python代码缩进的使用方法_python退格快捷键

    Python代码缩进的使用方法_python退格快捷键和其它程序设计语言(如Java、C语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号(:)来区分代码块之间的层次。在Python中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。注意,Python中实现对代码的缩进,可以使用空格或者Tab键实现。但无论是手动敲空格,还是…

  • IntelliJ IDEA 2018.2 激活码(最新序列号破解)

    IntelliJ IDEA 2018.2 激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

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