用户名 密码 记住我 还未注册?

随便说说,第一次做模块开发 [技术论坛 - 模块开发]

XOOPS China 讨论区 > XOOPS Module (模块) > 模块开发 > 随便说说,第一次做模块开发

正在浏览:   1 名游客



 到底部   前一个主题   下一个主题  [无发表权] 请登录或者注册



随便说说,第一次做模块开发
新进会员
注册日期:
2008/11/2 20:32
所属群组:
注册会员
帖子: 2
等级: 1; EXP: 2
HP: 0 / 0
MP: 0 / 5
离线

以前租了个空间学做网站,安装了XOOPS后自己慢慢加东西,实在是没多少内容提供,网站也没什么人访问,利用率太低。过年时突然心血来潮,想自己做一个模块,把网站改成在线收藏、导航、短链接之类的,就算别人不用,对我自己这种喜欢在网上散跑、又常重装系统的人也有点用,至少有个地方来集中保存和整理自己喜欢的网络资源。

在本机安装好XOOPS后,找到XOOPS模块开发参考,一步一步照着写,很简单,也不多说了,就说一下其中遇到的让我困惑的“难”点问题,不是比较有难度的问题,而是把我难了一下的问题。

在我第一次测试模块安装时,发现所有第三方模块都安装不上,不管复制什么模块到 module 目录,系统都检测不到。网络搜索找不到原因,只得用笨办法,按调用过程一步一步去 php 中插入 print("run to here!"); 来判定故障所在。最后发现原来是我xoops_version.php文件中有一句少写了结束符,导致/kernel/module.php 文件的 LoadInfo() 函数中出现了错误,if (! @ include(XOOPS_ROOT_PATH.'/modules/'.$dirname.'/xoops_version.php') ) 无法运行退出,系统自然不能继续检测后面的模块。非常简单的问题把我难了一下。从此,我给Editplus配置了PHP语法检查功能,

1.打开 工具->配置用户工具->用户工具
2.添加一个菜单 php语法检查 命令 就是你php.exe的路径 比如 d:\php\php.exe
3.参数 -l “$(FileName)” 初始目录 $(FileDir)
4.选中 捕获输出 打开输出模式 正则表达式 ^.+in (.+) on line ([0-9]+)
5.文件名:标记表达式1 行:标记表达式2 列:无
6.确认后,菜单里就会多出一个工具,可以直接检查啦。

无论发现什么问题,第一步先检查语法。

安装到服务器后,发现与本地效果不一样,先是查询没结果,直接拿语句上mysql服务器上查询,提示语句错误,服务器版本太低不认识" true "/"false",把查询中所有true 改为 1,false 改为 0,总算有结果了。但还有部分页面白屏,一查看这几个页面,都用&符引用遍历了数组,把&符去掉能运行了,但循环中修改的变量没有效果。查看PHP手册后得知5.0以上才能在数组循环中通过&符引用来修改数组元素,以前的版本都只在循环中操作一个值引用的副本,联系服务器提供商把PHP换成5.0,顺便mysql也换成5.0,就此解决。

由于要做的是类似导航的网站,XOOPS默认的首页不适用,换成模块的。把需要的区块都给做好,除了只在首页显示的外,别的所有设置为全部页面,根据《XOOPS Theme设计宝典》在模板中来根据访问URL调整要显示的区块对象,如:

<{if $SCRIPT_NAME == "/index.php"}>

//.....

//.....

<{elseif $SCRIPT_NAME == "/modules/wowa/listsite.php" || $SCRIPT_NAME == "/modules/wowa/mysites.php"}>

//........

  <{foreach item=block from=$xoops_lblocks}>
  <{if $block.title eq "网站类别" || $block.title eq "我的网站目录"}>

//只显示左区块中的这两个
    <{$block.content}>
  <{/if}>
  <{/foreach}>

//...................
<{/if}>

基本上就是这么多,第一次做XOOPS模块,还望大家都指教,有空去我的网站 www.ni007.org 看看,多提提意见。 它安装了系统自带的四个模块和我这次做的这个模块。


2010/3/17 16:10
工具箱 短消息 Email PDF 书签 打印 举报 回顶部


回复: 随便说说,第一次做模块开发
资深会员
注册日期:
2007/3/16 22:40
所属群组:
注册会员
帖子: 314
等级: 16; EXP: 56
HP: 0 / 389
MP: 104 / 5099
离线
向楼主学习了!!!敬礼

国内有些Xoops高手就是缺少这样的分享精神,IT人的站长就是个例子。

有时间楼主可以研究研究这个帖子,我在苦苦寻找实现的方法但是又不懂编程。
http://xoops.org.cn/modules/newbb/viewtopic.php?topic_id=28343

2010/3/17 18:03
_________________
中国钢铁营销网-致力于XOOPS行业网站应用与探索
XOOPS Theme设计宝典

工具箱 短消息 Email PDF 书签 打印 举报 回顶部


回复: 随便说说,第一次做模块开发
资深会员
注册日期:
2008/3/16 18:35
来自 山东 青岛
所属群组:
注册会员
帖子: 291 | 精华: 1
等级: 15; EXP: 95
HP: 0 / 373
MP: 97 / 3805
离线
好,顶一个
楼主多分享一下模块开发经验,小弟准备学习一下
呵呵

2010/3/17 18:24
工具箱 短消息 Email PDF 书签 打印 举报 回顶部


回复: 随便说说,第一次做模块开发
中级会员
注册日期:
2009/8/3 19:28
所属群组:
注册会员
帖子: 63
等级: 6; EXP: 82
HP: 0 / 145
MP: 21 / 893
离线
嗨 哥们你做的这个模块可否供下载

2010/3/19 15:33
_________________
搜索引擎/心灵小站/LIANTU
工具箱 短消息 Email PDF 书签 打印 举报 回顶部



  [无发表权] 请登录或者注册


可以查看帖子。
不可发帖。
不可回复。
不可编辑自己的帖子。
不可删除自己的帖子。
不可发起投票调查。
不可在投票调查中投票。
不可上传附件。
不可不经审核直接发帖。
不可使用主题类别。
不可使用HTML语法。
不可使用签名档。

[高级搜索]