前一段时间看了你制作的门户文章的表态功能, 有一个问题就是点击了之后需要重新刷新一下才能显示投票.
这个discuz自带的空间博客上面有游客表态功能,你看看能把代码移植过去吧
==================================================第二个想法:it618开发了一个帖子内部游客表态功能的插件,这个插件在门户文章不能实现..你看看能把这个插件功能移植在首页文章里面===============
第三个问题,discuz的门户的栏目比较多,我想在portal_view.htm 模版中修改一处,调出最新的10条数据.是不是需要在portal_view.php中写上mysql的调用代码,然后在view.htm中用模版展示出来
==================================================谢谢
关于表态的问题,本文采用session的方法做一下表态的限制。
本文接上次discuz允许游客表态的方法来说,注释掉的代码还跟上次的一样。注释完成后,修改如下:
找到文件:/source/include/spacecp/spacecp_click.php
在文件顶部,即:
[代码]php代码:
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
上面加入一句话:
[代码]php代码:
session_start();
开启session。然后最后注释掉的:
[代码]php代码:
/*if(C::t('home_clickuser')->count_by_uid_id_idtype($space['uid'], $id, $idtype)) {
showmessage('click_have');
}
*/
这句话下面加入:
[代码]php代码:
if($_SESSION['vote'] == session_id()){
showmessage('click_have');
}
$_SESSION['vote'] = session_id();
这样就可以通过用户访问网站的session来做表态的限制,演示查看本博客表态功能。
其实还可以通过IP来做限制,可以自己查看下相关资料。方法有很多,在于自己的挖掘。
至于需要刷新之后,才能显示,是因为表态之后,本页没有刷新,修改方法,可以参考下ajax来实现,本文不再细说。
你说的空间博客上的表态,我没有注意到有这么一个功能呢。
第二个问题,没有用过这个插件本文不说其修改方法了。
第三个问题
其实不用自己来写sql语句,discuz提供了一个内部调用数据的功能。
进入网站后台——门户——模块管理——数据调用
其操作方法跟diy是一样的,添加好数据模块之后,点击内部调用:
将这段代码复制到discuz对应要放置的位置即可,discuz会自动解析数据的。
好了,解答完毕,希望能帮到你!