购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 实际案例

模板文件在上一章已经介绍过,这一节主要介绍php程序文件。

下面通过一些例子来熟悉dedeCMS的程序结构:

dedeCMS会员每天多次登录,积分只限增加一次。

需求描述:同一天之内一个会员可能会多次登录,系统有登录奖赏机制,原来的奖赏机制是每登录一次增加一次积分。这样是不合理的,需要将奖赏机制改成一天多次登录,只增加一次积分。

分析:首先把思路说一下:先检测当前时间与上次登陆日期是否为同一天?如果是就不加积分。如果上次登陆日期与当前登陆日期不相等就加积分。在“文件结构”一节中,得知文件include/inc_memberlogin.php与会员的登录有关。增加积分也是在会员登录的时候增加的,所以要修改这个文件。

打开inc_memberlogin.php:

通过分析代码之后,具体代码大概在 370 行,原代码如下:

修改为,代码如下:

dedeCMS文章页面的上一篇下一篇链接显示标题的同时显示摘要。

需求描述:DedeCMS系统默认的是在文章的上一篇和下一篇的链接只显示标题,但是有时我们希望显示其他信息,比如文章的摘要。

分析:首先我们要知道查询上一篇和下一篇是在哪里实现的。在上一节“文件结构”中我们得知“include/arc.archives.class.php”封装了对文章的所有操作,不妨分析一下这个文件。果然找到了下面的代码,如图 3.19 所示。

图 3.19“上下一篇”方法

通过查看“getNextPre()”函数的注释,知道这就是查询上一篇下一篇的地方。

改为:

比较一下两个sql语句其实现在只是多了arc.description,这就是文章的摘要,也称为文章描述。

需要注意的是这里的jcode_archives和jcode_arctype中的jcode_是表结构的前缀,将这个前缀改成你自己的。

现在我们已经将文章描述从数据库里面取出来了。下一步将描述显示在页面上,显示连接文字的代码本来是这样的:(你可以通过查找找到,就在上面那段代码的附近)

现在为了显示出文章描述,在每一个a标签之后添加一个div,div中包含文章描述:

这样做的话能显示文章摘要,但是格式可能会很乱,读者可以根据需要增加样式。

例 3-1: 怎么调用指定的文章。

需求描述:在网站首页调用站内新闻是必不可少的,但是有的时候不能根据自己的需要来调用指定的文章,想要调用自己指定的文章还要做一些修改。

在网站中调用指定文章可以使用织梦默认的标签idlist,在调用的时候使用以下代码:

如果这样调用不出来文章的话就可以试试下面的方法:

打开include\inc_arcpart_view.php文件

找到function ParseTemplet();这个函数。

将里面的 0 改为$ctag->GetAtt(‘arcid’),就行了。

打开incclude\inc\inc_fun_spgetarclist.php文件找到以下代码。

替换成:

在使用调用代码的时候使用如下代码:

例 3-2: 让会员注册直接跳转到验证邮箱。

一般在注册会员的时候都会要求验证会员,所以在注册的时候都会有邮箱的填写,在注册成功之后就可以直接验证邮箱,但是怎么实现会员注册之后直接跳转到验证邮箱的功能呢?

打开members下templets下reg-new3.htm这段代码:

点击立刻进入邮箱验证的时候,传值,到index_do.php,新建一个else if。

不同类型的邮箱注册都可以,想要什么样的邮箱验证都可以添加进去,如果不想这么多邮箱,也可以删除。

总结

通过本章的学习,我们学到了如下知识点:

◆ dedeCMS内可以有多个模板,并且可以在【后台】->【系统】->【系统基本参数】里面设置调用模板。

◆ dedeCMS通过标签调用数据库里的数据,标签分为有底层模板标签和无底层模板标签两种。

◆ 在【后台】->【模板】->【默认模板管理】->【修改】里有各种标签用法的注解。

◆ 用“老李仿站专用器”可以生成dedeCMS标签,不用自己写dedeCMS标签。

◆ 制作自定义模板。

◆ dedeCMS的目录主要分为两大目录,模板文件目录和程序文件目录,模板目录也就是上一章学习的templets目录,程序目录又分为前台程序文件、后台程序文件、核心程序文件和公共函数文件。

◆ 前后台程序文件就是具体执行某个功能的文件,例如:album_add.php添加相册,archives_add.php添加文章等等。

◆ 核心程序目录include,存放各种类,例如文章类arc.archives.class.php,具体可查看本章的“文件结构”一节。

◆ 公共函数目录inc,存放一些常用的函数,这些函数不属于任何类,在系统入口文件引入,在系统内任何地方都可调用。

◆ 必须通过实例来熟悉学习dedeCMS的程序结构,因为实例能够让同学们领悟dedeCMS的思维模式,从而举一反三。

作业

1. 下载的dedeCMS模板应该放在哪个文件夹下,才能够安装模板()。A.dede B.include C.install D.templets

2. 安装dedeCMS模板就是将下载的模板文件放在templets文件夹下吗?

3. 在网上下载dedeCMS模板并安装,如图 3.20 所示。

图 3.20 dedeCMS首页

4. 新建一个栏目,并在首页任意地方用chanel标签调用这个栏目的名称,如图 3.21所示。

图 3.21 在首页显示栏目

5. 新建一个栏目,并在首页任意地方用arclist调用该栏目下的文章,如图 3.22 所示。

图 3.22 调用栏目下的文章

6. 将文章搜索结果修改为按点击数排序。

7. 在首页调用文章“联系我们”的摘要。

8. 修改会员注册流程为会员注册成功后立即跳转至邮箱验证。

9. 修改会员登录功能使会员每天登录多次的情况下,积分只增加一次。

10. 修改dedeCMS图片上传功能,使图片按月存放。

扩展练习

用下图制作自定义dedeCMS首页模板,并用标签实现数据调用,如图 3.23 所示。

图 3.23 dedeCMS自定义首页 OMf5Q/r37zLZ77L56pmfr1By7LGS9tfPPyPHnU0fZ2ys/DgQitF94O8hdV+NpZaH

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开