站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
在模块中添加XOOPS全局评论特性(Smarty版本)
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
__NOTOC__ <span style="text-align:center; border:1px solid #000; float:right; padding:6px;"><strong>导航:</strong> [[Xoops模块开发之模块的辅助特性|上一页]] | {{Template:Xoops导航}}</span> <div style="clear:both;"></div> ===步骤1:模块相关基本配置=== 在进行后面的步骤前,有两个变量你必须要准备好。它们是: * 每个条目的ID对应的键名([[URL]]键值对方式,如:name=id,name就是键名),确定哪个评论将被添加。例如:在News模块中的'storyid',在XoopsPoll模块中的'poll_id'。 * 当上述唯一的键值(id)通过[[HTTP]] GET方式请求传递时,对应文件显示该键值的条目。例如:News模块的文件'article.php',访问每一个article会显示 article.php?storyid=(这里填唯一的ID号)。同样的,XoopsPoll模块的文件'pollresults.php' 也是如此。 现在打开xoops_version.php加入下面列出的内容: <pre> $modversion['hasComments'] = 1; $modversion['comments']['itemName'] = 'value obtained in A'; $modversion['comments']['pageName'] = 'value obtained in B'; </pre> 例如,在News模块中: <pre> $modversion['hasComments'] = 1; $modversion['comments']['itemName'] = 'storyid'; $modversion['comments']['pageName'] = 'article.php'; </pre> ===步骤2:相关文件准备=== 将下面的文件从web links模块中复制到你的模块目录 * omment_new.php * comment_edit.php * comment_delete.php * comment_post.php * comment_reply.php ===步骤3:文件内容修改=== 打开在步骤1 B中规定的文件(例如:News中的article.php),在包含footer.php前加入下面给出的语句 <pre> include XOOPS_ROOT_PATH.'/include/comment_view.php'; </pre> ===步骤4:模板制作=== 为模块打开适当的模板文件(News模块打开news_article.html文件),将下面列出的复制到显示评论的地方。当然你可以自定义[[HTML]]标签。 <pre> <div style="text-align: center; padding: 3px; margin: 3px;"> <{$commentsnav}> <{$lang_notice}> </div> <div style="margin: 3px; padding: 3px;"> <!-- start comments loop --> <{if $comment_mode == "flat"}> <{include file="db:system_comments_flat.html"}> <{elseif $comment_mode == "thread"}> <{include file="db:system_comments_thread.html"}> <{elseif $comment_mode == "nest"}> <{include file="db:system_comments_nest.html"}> <{/if}> <!-- end comments loop --> </div> </pre> 从用户的角度看,那就是所有需要添加的内容。 从管理的角度,只要删除一个条目将导致依赖该条目的评论也被删除,同时用户发表的数量也因此更新,总是访问下面的函数。 <pre> function xoops_comment_delete(integer module_id , integer item_id) </pre> 例如在News模块中,只要删除一个news article,这个函数被如下方式访问: <pre> xoops_comment_delete($xoopsModule->getVar('mid'), $storyid); </pre> 另一个有用的函数是xoops_comment_count(),它把模块的ID和条目的ID作为自己的参数并且返回规定的条目的评论总数。 <pre> function xoops_comment_count(integer module_id [, integer item_id]) </pre> 如果item_id未被指定,则返回根据module_id规定的模块的评论的总数。 ===步骤5:回调函数(可根据需要选择)=== '''建立回调函数''' 你可以通过在xoops_version.php中加入下面一行命令来指定回调函数: <pre> $modversion['comments']['callback']['approve'] = 'function'; </pre> 一个被核准的评论发送成功的话,函数将被执行。这包括评论被管理员发送,状态由'pending'改为'active'。一个以被核准的XoopsComment对象将被当作第一个而且也是唯一的参数。举例注意对象提交的评论应该会有用。 <pre> $modversion['comments']['callback']['update'] = 'function'; </pre> 只要一个条目的状态为'active'的评论的总数发生变化,函数将被执行。两个参数将被当作键变量参数,条目唯一的ID作为第一个参数,而处于active状态的评论总数则作为第二个参数。 ===定义回调函数所在的文件名=== 例如 <pre> modules/mylinks/xoops_version.php ... $modversion['comments']['callbackFile'] = 'include/comment_functions.php'; $modversion['comments']['callback']['approve'] = 'mylinks_com_approve'; $modversion['comments']['callback']['update'] = 'mylinks_com_update'; .. modules/mylinks/include/comment_functions.php function mylinks_com_update($link_id, $total_num){ $db = $GLOBALS[‘xoopsDB’]; $sql = 'UPDATE '.$db->prefix('mylinks_links').' SET comments = '.intval($total_num).' WHERE lid = '.intval($link_id); $db->query($sql); } function mylinks_com_approve(&$comment){ / / 发送通知邮件 } </pre> [[category:Xoops模块开发指南]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Xoops导航
(
编辑
)