discuz游客表态修改及内部数据调用方法 [复制链接]

moqu8 2017-10-5

5 0
前一段时间看了你制作的门户文章的表态功能, 有一个问题就是点击了之后需要重新刷新一下才能显示投票.
这个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会自动解析数据的。

最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心