Posts Tagged ‘dedecms’

DEDECMS 5.1版本(新版不知是不是还这样?),每次上传附件,默然的都是在根目录下创建一个年年月月日日形式的目录,然后再把附件放到这个目录里。为了便于管理,我们要修改一下设置。

下面参考navyao的研究,大家修改就可以了。

1.修改文件: rooturl/dede/inc/inc_archives_functions.php

查找GetRemoteFlash,把

$cfg_uploaddir = $GLOBALS['media_dir'];

改为:

$cfg_uploaddir = $GLOBALS['cfg_medias_dir'];

2.到后台,新增一个变量:

系统管理-》添加新变量,所属组选择“附件/图片”,变量名称:cfg_medias_dir,变量值:/7k7k_swf(你可以修改你的)。

保存就OK了。你在../include/config_hand.php里也可以看到刚才新增的变量。

大家可以看这个小游戏站的设置。

Tags:

24
Nov

dedeCMS小游戏数据库分析

   Posted by: admin    in 代码编程, 网站经验谈


dedeCMS很强大,几乎能建各种类型的网址。dedeCMS功能多,有文章、图片、软件、小游戏等各种类型的功能,和其他一些专业用于做小游戏网站的程序来说,后台的数据库也就复杂得多了。

仔细看了以后,我们可以看到,作为小游戏程序来用的话,大概只需要这些主要的表:
dede_archives 这是网站内容的主信息表,任何类型的网站都需要这个表。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
CREATE TABLE `dede_archives` (
  `ID` int(11) unsigned NOT NULL default '0',  /* flash小游戏编号(也是文章、图片、软件等的编号)*/
  `typeid` int(11) unsigned NOT NULL default '0', /* 小游戏分类编号 */
  `typeid2` int(11) unsigned NOT NULL default '0',
  `sortrank` int(11) NOT NULL default '0',
  `iscommend` smallint(6) NOT NULL default '0',
  `ismake` smallint(6) NOT NULL default '0',
  `channel` int(11) NOT NULL default '1',
  `arcrank` smallint(6) NOT NULL default '0',
  `click` int(11) unsigned NOT NULL default '0',
  `money` smallint(6) NOT NULL default '0',
  `title` varchar(80) NOT NULL default '', /* 小游戏标题 */
  `shorttitle` varchar(36) NOT NULL default '',
  `color` varchar(10) NOT NULL default '',
  `writer` varchar(30) NOT NULL default '',
  `source` varchar(50) NOT NULL default '',
  `litpic` varchar(100) NOT NULL default '',
  `pubdate` int(11) NOT NULL default '0', /* 发布日期 */
  `senddate` int(11) NOT NULL default '0',
  `arcatt` smallint(6) NOT NULL default '0',
  `adminID` int(11) NOT NULL default '0',
  `memberID` int(11) unsigned NOT NULL default '0',
  `description` varchar(250) NOT NULL default '', /* 小游戏介绍 */
  `keywords` varchar(60) NOT NULL default '',
  `templet` varchar(60) NOT NULL default '',
  `lastpost` int(11) NOT NULL default '0',
  `postnum` int(11) NOT NULL default '0',
  `redirecturl` varchar(150) NOT NULL default '',
  `mtype` int(11) NOT NULL default '0',
  `userip` varchar(20) NOT NULL default '',
  `locklikeid` smallint(6) NOT NULL default '0',
  `likeid` varchar(240) default '',
  `smalltypeid` smallint(6) NOT NULL default '0',
  `areaid` smallint(6) NOT NULL default '0',
  `areaid2` smallint(6) NOT NULL default '0',
  `sectorid` smallint(6) NOT NULL default '0',
  `sectorid2` smallint(6) NOT NULL default '0',
  `endtime` int(11) NOT NULL default '0',
  `digg` int(11) NOT NULL default '0',
  `diggtime` int(11) NOT NULL default '0',
  PRIMARY KEY  (`ID`),
  KEY `typeid` (`typeid`,`typeid2`,`sortrank`,`channel`,`arcrank`,`adminID`,`memberID`,`smalltypeid`,`areaid`,`areaid2`,`sectorid`,`sectorid2`,`senddate`)
) TYPE=MyISAM

dede_addonflash 这是存储flash小游戏部分信息的表,另外那些信息就是在上面说的表内,和dede_archives表构成完整的小游戏内容,包括:小游戏标题、小游戏介绍、小游戏图片地址、小游戏swf文件地址等信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE `dede_addonflash` (
  `aid` int(11) NOT NULL default '0',   /* flash ID,对应dede_archives.ID */
  `typeid` int(11) NOT NULL default '0',
  `filesize` varchar(10) NOT NULL default '',
  `playtime` varchar(10) NOT NULL default '',
  `flashtype` varchar(10) NOT NULL default '',
  `flashrank` smallint(6) NOT NULL default '0',
  `width` smallint(6) NOT NULL default '0',
  `height` smallint(6) NOT NULL default '0',
  `flashurl` varchar(80) NOT NULL default '',   /* flash swf文件的地址 */
  `flashhh` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`aid`),
  KEY `flashMain` (`typeid`,`filesize`,`flashrank`)
) TYPE=MyISAM

dede_arctype 这个是小游戏分类表,此表也应用于其他类型的网站。包含本分类栏目的各类文字信息和系统信息。
dede_member_perinfo 会员表
dede_search_keywords 访问者搜索时,记录下来的关键字表,可以了解访问者关注那些内容。
dede_tag_list 和 dede_tag_index 这是小游戏tag表,与小游戏主表关联。这些表可以让相关小游戏在一个页面显示,自动归类,方便玩家。很有用。

1
2
3
4
5
6
7
CREATE TABLE `dede_tag_list` (
  `tid` int(11) default '0', /* tag 的ID号,对应dede_tag_index.id ,非关键字,可重复的值*/
  `aid` int(11) NOT NULL default '0', /* 主档案ID(游戏ID),对应dede_archives.ID */
  `typeid` smallint(6) default '0', /* 游戏分类的ID,对应dede_arctype.ID */
  `arcrank` int(11) NOT NULL default '0',
  KEY `tid` (`tid`,`arcrank`)
) TYPE=MyISAM
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE `dede_tag_index` (
  `id` int(11) NOT NULL auto_increment, /* ID 自增长 */
  `tagname` varchar(30) default NULL, /* tag名称 */
  `count` int(11) NOT NULL default '0',
  `result` int(11) NOT NULL default '0',
  `weekcc` int(11) NOT NULL default '0',
  `monthcc` int(11) NOT NULL default '0',
  `monthup` int(11) NOT NULL default '0',
  `weekup` int(11) NOT NULL default '0',
  `addtime` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM

dede_uploads 是附件管理表。

Tags: ,

默认情况下,DedeCMS2007的“下一篇”、“上一篇”是按照ID顺序来显示的。有事后我们需要的是显示本分类的“上一篇”、“下一篇”,那么如何修改呢?

请打开
./include/inc_archives_view.php
找到代码:
[code]
$next = " #@__archives.ID>'$aid' And #@__archives.arcrank>-1 order by #@__archives.ID asc ";
$pre = " #@__archives.ID<'$aid' And #@__archives.arcrank>-1 order by #@__archives.ID desc ";
[/code]
替换为:
[code]
$tid = $this->Fields["typeid"];
$next = " #@__archives.ID>'$aid' And #@__archives.typeid='$tid' And #@__archives.arcrank>-1 order by #@__archives.ID asc ";
$pre = " #@__archives.ID<'$aid' And #@__archives.typeid='$tid' And #@__archives.arcrank>-1 order by #@__archives.ID desc ";
[/code]

再更新文章的html就可以了。

mxay
http://www.mxay.com/

Tags: