【discuz】对活动版块的报名人数进行修改

discuz x2论坛的活动版块,虽然有一个报名人数统计功能,但是不能详细分出某个人报名的时候是一个人报名,还是代表多个人报名。针对于这个问题,于是在活动版块又添加了一个用户栏目(参加人数),也就是说在报名的时候需要填写是否是一个人还是多个人。 先展示修改完成之后的效果图:   修改第一步:在列表中添加参加人数 修改文件:.\template\default\forum\viewthread_activity.htm <!–{if $applylist}–> <div class=”ptm pbm xs1″ id=”applylist_$_G[tid]”> <h2>{lang activity_new_join} ($applynumbers {lang activity_member_unit})</h2> <table class=”dt”> <tr> <th width=”140″>&nbsp;</th> <th>{lang leaveword}</th> <!–{if $activity[‘cost’]}–> <th width=”60″>{lang activity_payment}</th> <!–{/if}–> <th width=”60″>参加人数</th> <th width=”110″>{lang activity_jointime}</th> </tr> <!–{loop $applylist $apply}–> <tr> <td> <a target=”_blank” href=”home.php?mod=space&uid=$apply[uid]” class=”ratl vm”><!–{echo avatar($apply[uid], ‘small’)}–></a> <a target=”_blank” href=”home.php?mod=space&uid=$apply[uid]”>$apply[username]</a> </td> <td><!–{if $apply[message]}–><p>$apply[message]</p><!–{/if}–></td> … Continue reading “【discuz】对活动版块的报名人数进行修改”

【discuz】活动版块设置为不审核状态

最近在修改discuz x2的活动主题版块的布局,请看如下截图: 方法一: 布局修改文件:.\template\default\forum\viewthread_activity.htm 修改当中遇到了一个问题,就是每次有人报名的时候,都需要自己手动审核,本以为discuz x2后台有对应的设置,但是翻来覆去也找不到对应的设置,自己只好看源代码了。 在discuz x2数据库中查看了下pre_forum_activityapply表,发现一个字段(verified)的值有1和0的区别,于是就修改其对应的值,结果证明确实是根据verified这个字段来判断是否要审核。请看一下截图: 注: 0代表要审核,1代表已经审核 于是只要对其表所有的verified字段的值都设置为1就可以了。看如下代码: DB::query(“UPDATE  “.DB::table(‘forum_activityapply’).” SET verified=1 “); 这代码放到哪个文件好呢? 然后又找代码查看: 看到:./source/include/thread/thread_activity.php文件 修改即可。 方法二: 直接修改响应数据库的函数,将其值改为1. 修改文件: ./source/module/forum/forum_misc.php 至于为什么是这个函数: 请看按钮响应的链接: forum.php?mod=misc&amp;action=activityapplies&amp;fid=2&amp;tid=25&amp;pid=26 修改位置: $verified = $thread[‘authorid’] == $_G[‘uid’] ? 1 : 0; 将其值修改为 $verified = 1; 即可。

【discuz x2】插件-数据库操作

操作之前先初始化数据: require_once ‘../../class/class_core.php’; $discuz = & discuz_core::instance(); $discuz->init();   插入数据: $arr = array(‘username’=>$HGID,’time’=>$Time,’score’=>$fs,’course’=>$xc,’coursebz’=>$xcbz,’pl’=>$pl); $Info = DB::insert(‘hrg_score’,$arr,1); 返回值是数据库条数。 数据库查询: $query = DB::query(“sql语句”); while($user = DB::fetch($query)) { } 其它的参考: DB::table() 增加了pre的数据库表名 DB::delete() 删除表中数据 DB::insert() 向表中插入数据 DB::update() 更新表中数据 DB::fetch() 配合DB::query来实现数据资源数据的获取 DB::query() 执行一条数据库语句 DB::fetch_first() 获取结果集的第一条记录

【discuz x2】插件的安装卸载设计

安装文件: install.php(在插件目录下) 以下代码是在安装的过程中创建一个数据库: <?php if(!defined(‘IN_DISCUZ’)){ exit(‘Access Denied’); } $sql = <<<EOF DROP TABLE IF EXISTS pre_hrg_score; CREATE TABLE pre_hrg_score( `ID` int not null AUTO_INCREMENT, `username` varchar(50) not null, `time` varchar(100) not null, `score` int not null, `course` varchar(200) not null, `coursebz` varchar(400) not null, `pl` text, PRIMARY KEY (`ID`) )ENGINE=MyISAM; EOF; runquery($sql); $finish = true; … Continue reading “【discuz x2】插件的安装卸载设计”

【discuz x2】制作单页面模版

单页面在discuz x2中是采用两个文件,一个是php文件,另外一个htm文件(被调用的模版)第一: 创建一个php文件 如:tableSend.php  存放于根目录下然后对该文件写入代码: <?php require_once “./source/class/class_core.php”;//引入系统核心文件 $discuz = & discuz_core::instance();//以下代码为创建及初始化对象 $discuz->cachelist = $cachelist; $discuz->init(); include template(“forum/tableSend/tableSend”);//调用单页模版文件 ?> 第二步: 设置模版文件 tableSend.htm 存放于template/forum/tableSend/tableSend/下 写入如下代码: {subtemplate common/header} 自己的布局用的代码 {subtemplate common/footer} 第三步: 就直接可以调用tableSend.php文件来访问了。 实例介绍:(在线调查)模版文件tableSend.htm代码如下: <style> #tableSend{ margin: 0 auto; } #tableSend h3{ font-size: 16px; text-align: center; } #tableSend ul{ margin-top: 30px; } #tableSend ul li{ width: 960px; height: … Continue reading “【discuz x2】制作单页面模版”

【discuz x2】缓存机制

首先Discuz! X2版本中,对css的处理较之前的版本更加智能化了,每个页面都会加载以下两个类似的css:data/cache/style_1_common.css data/cache/style_1_forum_index.css 首先,这两个css是程序生成的css缓存文件,所以如果要改css的话,不能直接改这两个文件,否则一更新缓存,之前的改动就无效了。 拿自带的default模板举例,default模板中,带有一个common的文件夹,这个文件夹存放的是全局模板文件, 里面有css文件: style_1_common.css????是【common.css】生成的缓存 style_1_forum_index.css 是【module.css】生成的缓存   因此只有改动template/default/common/common.css这个样式表文件才能对页面样式进行真正的改动,