测试数据是无意中得到的企业黄页的数据,数据量将近90万,都是完全真实的数据,测试使用的程序是 dedecms4.0版本,你问为什么不用dedecms5.1?那是因为我们为了优化,针对dedecms做了很多修改,如果使用 dedecms5.1,我们害怕收到法院传票……,补充一句,以下的优化方法均能在dedecms5.1中使用,请在理解其原理的基础上自行完成。
未优化前我们测试发现主要有三个经常性的操作在dede大数据量的情况下影响管理性能,分别是文档生成、列表页生成和栏目列出所有文章,我们就针对这三个方面进行优化实践。
以下是测试数据的基本信息:
1.改进文档生成速度
问题提出:和我们前一次测评结果相同,dedecms的文档的生成速度惨不忍睹。使用默认模板(article_article.htm),平均接近30秒才能生成20个页面(如图),按照这个速度生成下去,90万的数据全部生成网页能等到头发都白了。那么到底问题在哪里呢?
问题分析
先排除表索引的问题,因为dede的数据库已经在数据主表(dede_archives)为主要字段都建立了索引。再排除主要内容的提取效率问题,因为页面生成过程中读取页面中的文章数据,每次需要到主表和附表中select取得id值唯一的数据内容,这个SQL语句的效率我们通过直接在mysql中运行SQL语句测试,执行时间非常短,因此这也不是最大的瓶颈。
终于在页面生成过程中,我们发现程序执行了数次主表(dede_archives)查询,并取出符合一组复杂查询条件数据的操作,查询效率非常低,原来是它在影响效率!通过调试跟踪,我们定位了问题的关键,元凶就是模板中arclist标签。 Arclist标签是很多人很喜欢用的标签,因为它比较灵活,能从数据中取出热门、最新、相关等各种类型的文章列表,但是arclist标签每次都会带着一大推搜索条件去主表中查询,实际上对于一次性生成大量文章来说,如果使用相同的模板,arclist对数据库的查询操作只是简单机械重复罢了,为此而耗费了大量时间绝对是不值得的。接下来我们给出问题解决的建议。
解决问题
解决方案1:去掉最终页面模板中的arclist标签,或者尽可能少用。这个方法虽然能极大提高效率,但是无异于泼水把孩子泼走了,对于企图增加访问pv的网站来说,不建议使用。
解决方案2:建立arclist缓存,将每次arclist生成的数据放到临时目录或者缓存当中,在文档生成过程中判断缓存是否有更新,如果无更新,直接使用缓存数据。这个方法无需改变模板,对于提高生成效率也有一定的效果,但由于对程序改动较大,酌情考虑使用。
解决方案3:也是小组建议的解决方案,那就是充分挖掘现有dedecms的功能,在尽量不改变程序的基础上,大幅提高效率。具体的方法就是通过freelist(自由列表生成)功能事先生成热门文章、最新文章、相关文章等内容的列表页面,然后使用 dedecms提供的include标签直接引入文档页面。标签格式为:{dede:include file='列表页面文件名称' ismake=' no'/}。这个方案优点在于仅增加部分操作步骤,没有改动任何程序,性能提高亦非常明显。下图就是我们利用这个方法优化后的生成速度,仅用时50秒就完成了1500多页的文章生成,达成目标优化效果。此方案由于增加了操作步骤,懒人慎用。
2.改进列表页面生成速度
问题提出
接下来我们继续测试列表页面的生成,这次我们学乖了,先把模板(list_article.htm)中的arclist标签删除后再测试,但是生成效果依然非常不理想。如下图,每个列表页面生成时间接近20秒(我们修改了页面结果输出提示,为了大家更方便看到每个列表页面生成时间),按照每页50条数据计算,生成单个栏目的3万数据理论上也要花费3个多小时,生成90万数据……无语ing。由于列表内容使用的是list标签,这是一个和arclist有点类似的标签,因此我们不能延续上面的做法来解决问题,只能另辟蹊径。
问题分析
由于目标锁定在list标签,测试的过程就简单了。我们直接使用dedecms中list的查询语句做优化分析,很快发现了问题。我们测试了list中的sql查询语句,以下代码就是list用来查询数据库中对应条件的SQL语句,执行时间大约为15秒,效率很不理想。
Select arc.ID,arc.title,arc.iscommend,arc.color, arc.typeid,arc.ismake,arc.money,arc.description,arc.shorttitle, arc.memberid,arc.writer,arc.postnum,arc.lastpost, arc.pubdate,arc.senddate,arc.arcrank,arc.click,arc.litpic, tp.typedir,tp.typename,tp.isdefault,tp.defaultname, tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl from dede_archives arc left join dede_arctype tp on arc.typeid=tp.ID left join qiye_a**narticle on arc.ID = qiye_a**narticle.aid where arc.arcrank > -1 And ( ( arc.typeid='1′ ) or arc.typeid2='1′) order by arc.sortrank desc limit 0,50
我们注意到这个SQL语句中的where子句使用了 and和or的多种条件判断,经验告诉我们如果查询子句中使用了in或者or语句,会导致全表扫描,这样的话索引的效率就无法体现。我们简化了where 子句的判断条件进行测试,结果发现删除了or子句之后,查询效率大幅提升,上面的查询语句只用时不到1秒就获得了查询结果。这就是问题关键。
对于list查询来说,arc.typeid2='1′这个条件目的是查找某个文章所属的第二分类,而事实上这个功能在大部分情况下很少使用,因为我们大可使用标签(tag)来完成一篇文章的多个不同分类的归属,因此我们修改文件 inc_arclist_view.php,在查询语句中直接删除了typeid2的条件判断,并在pub_db_mysql.php中改进了查询执行函数(主要用于提高sql语句执行的效率,对最终结果影响不大),得到的最终测试结果如下,平均每个列表页面的生成时间下讲到不到1秒,3万数据600个列表页面生成只需要花费不到10分钟,优化目标达成。
3.改进文档管理效率
问题提出
在90万这个数据量的情况下,dedecms打开栏目文章列表,尤其是打开所有档案列表企图进行文章管理的时候,速度简直无法让人忍受。我们点击所有文档列表,耐着性子等了将近2分钟,文章列表页面才姗姗来迟。到底什么在制约着文章列表速度呢?
分析问题
控制显示文档列表的程序是dede/content_list.php和include /pub_datalist_dm.php,其中content_list.php是主控制程序,完成列表的参数传递和模板显示,而 pub_datalist_dm.php用于完成数据查询和分页等操作。通过程序调试,我们找到了问题的结症在于pub_datalist_dm.php 程序中对于全部数据的统计花费了大量的时间,而使用limit的列表数据的查询并不是性能的瓶颈。影响效率的关键代码为:
$this->dsql->Query();
$this->totalResult = $this->dsql->GetTotalRow();
这里所用的数据总数统计的方式居然是通过 content_list.php传递过来一个复杂的查询语句,然后执行这个查询并将结果保存到数据集中,最后通过mysql_num_rows函数统计结果集中行的数目,完全没有想到dedecms居然走了一个最远的路途完成一个最简单的操作,难怪效率低得可怕。因此只要我们改用最常见的count方法来统计数据,执行效率就能大幅提高。
解决问题
首先我们修改了程序content_list.php,构造了$conutquery参数用来保存统计使用的SQL语句,代码如下:
……
$conutquery=”
select count(*) as totalResult
from #@__archives
left join #@__arctype on #@__arctype.ID=#@__archives.typeid
left join #@__channeltype on #@__channeltype.ID=#@__archives.channel
left join #@__admin on #@__admin.ID=#@__archives.adminID
$whereSql
order by #@__archives.{$orderby} desc”;
……
然后将这个参数和查询$query参数一起传递给pub_datalist_dm.php进行处理。
$dlist->SetSource($query,$conutquery);
随后将pub_datalist_dm.php中获得数据总数统计的代码替换为使用$conutquery参数:
……
//统计优化
$row = $this->dsql->GetOneSimple($this->countSql);
$this->totalResult = $row['totalResult'];
……
其中GetOneSimple是新构造的一个用来执行SQL语句的函数,我把它放在了pub_db_mysql.php类里面,主要的用途就是返回SQL语句执行结果, $this->countSql是上一个程序传递过来的统计使用的SQL代码,$this->totalResult用来记录数据统计结果。程序修改之后,获得了满意的效果。
- 浏览: 1602582 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1585)
- Http Web (18)
- Java (194)
- 操作系统 (2)
- 算法 (30)
- 计算机 (45)
- 程序 (2)
- 性能 (50)
- php (45)
- 测试 (12)
- 服务器 (14)
- Linux (42)
- 数据库 (14)
- 管理 (9)
- 网络 (3)
- 架构 (83)
- 安全 (2)
- 数据挖掘 (16)
- 分析 (9)
- 数据结构 (2)
- 互联网 (6)
- 网络安全 (1)
- 框架 (9)
- 视频 (2)
- 计算机,SEO (3)
- 搜索引擎 (31)
- SEO (18)
- UML (1)
- 工具使用 (2)
- Maven (41)
- 其他 (7)
- 面向对象 (5)
- 反射 (1)
- 设计模式 (6)
- 内存数据库 (2)
- NoSql (9)
- 缓存 (7)
- shell (9)
- IQ (1)
- 源码 (1)
- Js (23)
- HttpClient (2)
- excel (1)
- Spring (7)
- 调试 (4)
- mysql (18)
- Ajax (3)
- JQuery (9)
- Comet (1)
- 英文 (1)
- C# (1)
- HTML5 (3)
- Socket (2)
- 养生 (1)
- 原理 (2)
- 倒排索引 (4)
- 海量数据处理 (1)
- C (2)
- Git (59)
- SQL (3)
- LAMP (1)
- 优化 (2)
- Mongodb (20)
- JMS (1)
- Json (15)
- 定位 (2)
- Google地图 (1)
- memcached (10)
- 压测 (4)
- php.性能优化 (1)
- 励志 (1)
- Python (7)
- 排序 (3)
- 数学 (3)
- 投票算法 (2)
- 学习 (1)
- 跨站攻击 (1)
- 前端 (8)
- SuperFish (1)
- CSS (2)
- 评论挖掘分析 (1)
- Google (13)
- 关键词分析 (1)
- 地图 (1)
- Gzip (1)
- 压缩 (1)
- 爬虫 (13)
- 流量统计 (1)
- 采集 (1)
- 日志分析 (2)
- 浏览器兼容 (1)
- 图片搜索引擎技术 (2)
- 空间 (1)
- 用户体验 (7)
- 免费空间 (1)
- 社交 (2)
- 图片处理 (2)
- 前端工具 (1)
- 商业 (3)
- 淘宝 (3)
- 站内搜索 (1)
- 网站收藏 (1)
- 理论 (1)
- 数据仓库 (2)
- 抓包 (1)
- Hadoop (105)
- 大数据 (6)
- Lucene (34)
- Solr (31)
- Drupal (1)
- 集群 (2)
- Lu (2)
- Mac (4)
- 索引 (9)
- Session共享 (1)
- sorl (10)
- JVM (9)
- 编码 (1)
- taobao (14)
- TCP/IP (4)
- 你可能會感興趣 (3)
- 幽默笑话 (7)
- 服务器整合 (1)
- Nginx (9)
- SorlCloud (4)
- 分佈式搜索 (1)
- ElasticSearch (30)
- 網絡安全 (1)
- MapReduce (8)
- 相似度 (1)
- 數學 (1)
- Session (3)
- 依賴注入 (11)
- Nutch (8)
- 云计算 (6)
- 虚拟化 (3)
- 财务自由 (1)
- 开源 (23)
- Guice (1)
- 推荐系统 (2)
- 人工智能 (1)
- 环境 (2)
- Ucenter (1)
- Memcached-session-manager (1)
- Storm (54)
- wine (1)
- Ubuntu (23)
- Hbase (44)
- Google App Engine (1)
- 短信 (2)
- 矩阵 (1)
- MetaQ (34)
- GitHub &Git &私/公有库 (8)
- Zookeeper (28)
- Exception (24)
- 商务 (1)
- drcp (1)
- 加密&解密 (1)
- 代码自动生成 (1)
- rapid-framework (1)
- 二次开发 (1)
- Facebook (3)
- EhCache (1)
- OceanBase (1)
- Netlog (1)
- 大数据量 (2)
- 分布式 (3)
- 事物 (2)
- 事务 (2)
- JPA (2)
- 通讯 (1)
- math (1)
- Setting.xml (3)
- 络驱动器 (1)
- 挂载 (1)
- 代理 (0)
- 日本語の (1)
- 花生壳 (7)
- Windows (1)
- AWS (2)
- RPC (11)
- jar (2)
- 金融 (1)
- MongDB (2)
- Cygwin (1)
- Distribute (1)
- Cache (1)
- Gora (1)
- Spark (31)
- 内存计算 (1)
- Pig (2)
- Hive (21)
- Mahout (17)
- 机器学习 (34)
- Sqoop (1)
- ssh (1)
- Jstack (2)
- Business (1)
- MapReduce.Hadoop (1)
- monitor (1)
- Vi (1)
- 高并发 (6)
- 海量数据 (2)
- Yslow (4)
- Slf4j (1)
- Log4j (1)
- Unix (3)
- twitter (2)
- yotube (0)
- Map-Reduce (2)
- Streaming (1)
- VMware (1)
- 物联网 (1)
- YUI (1)
- LazyLoad (1)
- RocketMQ (17)
- WiKi (1)
- MQ (1)
- RabbitMQ (2)
- kafka (3)
- SSO (8)
- 单点登录 (2)
- Hash (4)
- Redis (20)
- Memcache (2)
- Jmeter (1)
- Tsung (1)
- ZeroMQ (1)
- 通信 (7)
- 开源日志分析 (1)
- HDFS (1)
- zero-copy (1)
- Zero Copy (1)
- Weka (1)
- I/O (1)
- NIO (13)
- 锁 (3)
- 创业 (11)
- 线程池 (1)
- 投资 (3)
- 池化技术 (4)
- 集合 (1)
- Mina (1)
- JSMVC (1)
- Powerdesigner (1)
- thrift (6)
- 性能,架构 (0)
- Web (3)
- Enum (1)
- Spring MVC (15)
- 拦截器 (1)
- Web前端 (1)
- 多线程 (1)
- Jetty (1)
- emacs (1)
- Cookie (2)
- 工具 (1)
- 分布式消息队列 (1)
- 项目管理 (2)
- github (21)
- 网盘 (1)
- 仓库 (3)
- Dropbox (2)
- Tsar (1)
- 监控 (3)
- Argo (2)
- Atmosphere (1)
- WebSocket (5)
- Node.js (6)
- Kraken (1)
- Cassandra (3)
- Voldemort (1)
- VoltDB (2)
- Netflix (2)
- Hystrix (1)
- 心理 (1)
- 用户分析 (1)
- 用户行为分析 (1)
- JFinal (1)
- J2EE (1)
- Lua (2)
- Velocity (1)
- Tomcat (3)
- 负载均衡 (1)
- Rest (2)
- SerfJ (1)
- Rest.li (1)
- KrakenJS (1)
- Web框架 (1)
- Jsp (2)
- 布局 (2)
- NowJs (1)
- WebSoket (1)
- MRUnit (1)
- CouchDB (1)
- Hiibari (1)
- Tiger (1)
- Ebot (1)
- 分布式爬虫 (1)
- Sphinx (1)
- Luke (1)
- Solandra (1)
- 搜素引擎 (1)
- mysqlcft (1)
- IndexTank (1)
- Erlang (1)
- BeansDB (3)
- Bitcask (2)
- Riak (2)
- Bitbucket (4)
- Bitbuket (1)
- Tokyo Cabinet (2)
- TokyoCabinet (2)
- Tokyokyrant (1)
- Tokyo Tyrant (1)
- Memcached协议 (1)
- Jcrop (1)
- Thead (1)
- 详设 (1)
- 问答 (2)
- ROM (1)
- 计算 (1)
- epoll (2)
- libevent (1)
- BTrace (3)
- cpu (2)
- mem (1)
- Java模板引擎 (1)
- 有趣 (1)
- Htools (1)
- linu (1)
- node (3)
- 虚拟主机 (1)
- 闭包 (1)
- 线程 (1)
- 阻塞 (1)
- LMAX (2)
- Jdon (1)
- 乐观锁 (1)
- Disruptor (9)
- 并发 (6)
- 为共享 (1)
- volatile (1)
- 伪共享 (1)
- Ringbuffer (5)
- i18n (2)
- rsync (1)
- 部署 (1)
- 压力测试 (1)
- ORM (2)
- N+1 (1)
- Http (1)
- web开发脚手架 (1)
- Mybatis (1)
- 国际化 (2)
- Spring data (1)
- R (4)
- 网络爬虫 (1)
- 条形码 (1)
- 等比例缩放 (1)
- java,面向接口 (1)
- 编程规范 (1)
- CAP (1)
- 论文 (1)
- 大数据处理 (1)
- Controller (3)
- CDN (2)
- 程序员 (1)
- Spring Boot (3)
- sar (1)
- 博弈论 (1)
- 经济 (1)
- Scrapy (1)
- Twistedm (1)
- cron (1)
- quartz (1)
- Debug (1)
- AVO (1)
- 跨语言 (1)
- 中间服务 (2)
- Dubbo (4)
- Yarn (1)
- Spring OSGI (1)
- bundle (1)
- OSGI (1)
- Spring-Boot (1)
- CA证书 (1)
- SSL (1)
- CAS (7)
- FusionCharts (5)
- 存储过程 (3)
- 日志 (2)
- OOP (2)
- CentOS (5)
- JSONP (2)
- 跨域 (5)
- P3P (1)
- Java Cas (1)
- CentOS 6.5 Released – Installation Guide with Screenshots (1)
- Android (1)
- 队列 (2)
- Multitail (1)
- Maout (1)
- nohup (1)
- AOP (1)
- 长连接 (3)
- 轮循 (2)
- 聊天室 (1)
- Zeus (1)
- LSM-Tree (1)
- Slope One (1)
- 协同过滤 (1)
- 服务中间件 (1)
- KeyMeans (1)
- Bitmap (1)
- 实时统计 (1)
- B-Tree+ (1)
- PageRank (1)
- 性能分析 (1)
- 性能测试 (1)
- CDH (10)
- 迭代计算 (1)
- Jubatus (1)
- Hadoop家族 (8)
- Cloudera (2)
- RHadoop (1)
- 广告定价 (1)
- 广告系统 (9)
- 广告系统,架构 (1)
- Tag推荐算法 (1)
- 相似度算法 (1)
- 页面重构 (2)
- 高性能 (6)
- Maven3 (3)
- Gradle (11)
- Apache (1)
- Java并发 (1)
- Java多进程 (1)
- Rails (1)
- Ruby (3)
- 系统架构 (1)
- 运维 (36)
- 网页设计 (1)
- TFS (0)
- 推荐引擎 (0)
- Tag提取算法 (1)
- 概率统计 (1)
- 自然语言处理 (2)
- 分词 (1)
- Ruby.Python (1)
- 语义相似度 (0)
- Chukwa (0)
- 日志收集系统 (0)
- Data Mining (4)
- 开放Api (1)
- Scala (28)
- Ganglia (2)
- mmap (1)
- 贝叶斯分类 (1)
- 运营 (1)
- Mdrill (1)
- Lambda (2)
- Netty (5)
- Java8 (1)
- Solr4 (1)
- Akka (12)
- 计算广告 (2)
- 聊天系统 (1)
- 服务发现 (1)
- 统计指标 (1)
- NLP (1)
- 深度学习 (0)
最新评论
-
wahahachuang5:
web实时推送技术使用越来越广泛,但是自己开发又太麻烦了,我觉 ...
使用 HTML5 WebSocket 构建实时 Web 应用 -
秦时明月黑:
Jetty 服务器架构分析 -
chenghaitao111111:
楼主什么时候把gecko源码分析一下呢,期待
MetaQ技术内幕——源码分析(转) -
qqggcc:
为什么还要写代码啊,如果能做到不写代码就把功能实现就好了
快速构建--Spring-Boot (quote) -
yongdi2:
好厉害!求打包代码
Hadoop日志文件分析系统
发表评论
-
ubuntu13.10安装apache+svn+mysql+jdk+tomcat+php开发环境
2014-05-09 20:25 1003系统:Ubuntu 13.10 需要安装软件版本: ap ... -
ubuntu12.04 卸载和安装mysql
2014-02-16 11:20 867卸载mysql 第一步 -
Ubuntu 12.04 搭建php开发环境
2014-02-16 11:21 891安装MySQL sudo apt-get inst ... -
Ucenter for java api
2013-10-31 09:53 614http://code.google.com/ ... -
PHP中文高速分词的原理和源码
2013-09-28 10:38 1241一、正向最大匹配算 ... -
免费PHP空间整理
2013-09-27 09:44 8641.http://www.000webhost.com ... -
PHP API 框架开发的学习
2013-09-22 08:54 1017基于互联网的应用正变得越来越普及,在这个过程中,有更多 ... -
PHP采集类-Snoopy.class.php
2013-09-22 08:54 1211Snoopy是一个php采 ... -
记录蜘蛛爬行历史--PHP版
2013-09-04 12:31 978<? function get_naps_bot ... -
使用Google Analytics来统计手机网站的流量
2013-09-21 14:35 1105<?php class GoogleAnlayti ... -
使用Google Analytics跟踪搜索引擎的抓取记录
2013-09-21 14:35 1264<?php /* * Name:Tracki ... -
使用Gzip压缩网页
2013-09-21 14:34 1444gzip是GNU zip的缩写,它是一个GNU自由软件 ... -
Mongodb的常用操作
2013-08-31 17:53 595参看手册,php官方的http://us2.php.net ... -
memcached 、php环境配置和分析
2013-08-30 10:03 896版本:memcached-1.2.1-win3 ... -
JSON在PHP中的应用
2013-09-02 09:42 807互联网的今天,AJAX已经不是什么陌生的词汇了。说起AJA ... -
常用的PHP类库
2013-09-02 09:42 891下面是一些非常有用的PHP类库,相信一定可以为你的WEB开 ... -
获取ip地理信息
2013-09-19 11:52 1120第一种是利用纯真ip数据库,这个可以在网上找到很多,缺点是 ... -
了解php底层机制
2013-08-29 10:04 982作为一门动态语言,php是如何实现的,其底层机制如何,具有 ... -
Mongodb for PHP数据操作
2013-08-29 10:04 1171Mongodb的常用操作 参看手册,php官方的http ... -
PHP的底层工作原理
2013-08-28 08:52 799PHP底层工作原理 图1 php结构 从图上可以看出 ...
相关推荐
10. **安全防护**:DEDE内核会有一系列的安全措施,如防止SQL注入、XSS攻击等,保障网站不受恶意攻击。 总的来说,"DEDE内核分类信息网站源码"是一个集成了多种功能和工具的完整解决方案,可以帮助开发者快速搭建一...
10. **故障排查与维护**:学习如何处理常见的后台问题,如错误日志分析、备份恢复、升级更新等,确保网站稳定运行。 通过本课程的学习,学员不仅可以提升DEDE织梦后台开发的专业技能,还能更好地适应PHP高级开发的...
3. **易用性**:DEDE超级标签通常具有直观的界面和简化的操作流程,让非技术背景的网站管理员也能轻松使用。通过拖拽和配置,可以快速创建和管理标签,减少编写复杂SQL语句的工作量。 4. **代码生成**:此工具可能...
10. **安装和配置**:用户需要了解如何安装DEDE CMS系统以及导入并配置这套自考模板。这涉及到数据库连接设置、模板启用、网站基本设置等步骤。 总的来说,【dede自考资料网站模板】是一个全方位的解决方案,集成了...
- Delphi的编译器能够生成高效的本地机器代码,使得生成的应用程序运行速度快,体积小。 2. **VCL库**: - VCL(Visual Component Library)是Delphi的核心组件库,包含了大量的预先编写好的可视化和非可视化组件...
【dede源码整站】是一个专为构建企业门户网站设计的源码,具有高端大气的界面风格,适合希望创建专业且吸引眼球的企业网站的用户。这个源码基于DEDECMS(织梦内容管理系统),它是一个广泛应用的开源PHP CMS平台,以...
{dede:arclist row='10'} [field:link/]" title="[field:title/]"> [field:title/] [field:pubdate function="GetDateMK(@me)"/] {/dede:arclist} ``` **3. 首页** 首页作为网站的门面,通常也会展示...
10. **用户认证机制**:理解DEDECMS的用户认证过程,包括哈希算法、盐值等,以及如何验证和更新存储的密码。 通过上述知识点,我们可以更全面地了解DEDECMS后台密码重置的过程,以及在实际操作中需要注意的安全和...
《dede新手学习文档》是一份专为初学者和有一定经验的开发者准备的教程,主要讲解了DEDE(织梦内容管理系统)中的标签、语法及其使用方法,对于DEDE的开发工作具有极大的辅助作用。DEDE是基于PHP的开源CMS系统,广泛...
以上代码展示了如何使用`{dede:list}`标签来显示最新的10篇文章,并通过`{dede:pagelist}`标签实现了文章列表的分页功能。此外,我们还可以通过调整`listitem`参数来定制不同的分页样式。 通过本文介绍的各种Dede...
"DEDE婚纱源码"是一套专为搭建婚纱摄影网站设计的开源代码,基于DEDE内容管理系统(CMS)开发。DEDE CMS是中国较为流行的内容管理框架之一,以其易用性和强大的功能深受用户喜爱。这套源码包含了一系列用于构建专业...
例如,`{dede:arcrow num='10'}` 就是一个常用的标签,用于在页面上显示最近10篇文章。 描述中提到的“很好的DEDE标签代码只要根据自己的需求直接调用”,这意味着DEDE标签提供了丰富的自定义选项。用户可以根据...
"DEDE企业网站模版"是一款专为中小企业设计的网站构建解决方案,由志诚科技开发。这个模版基于DEDE内容管理系统(CMS),一个广泛使用的开源PHP平台,它提供了丰富的功能和灵活的设计选项,帮助企业快速建立专业且...
DEDE CMS 学校门户网站模板是一款专为中学设计的网站构建解决方案,基于知名的DEDE CMS内容管理系统。DEDE CMS,全称是“ Dedecms”,是中国广泛应用的开源CMS平台,以其强大的功能和易于操作的特性受到众多网站管理...
- 按ID升序排列:`{dede:arclist channelid='' row='10' titlelen='60' orderby='id' orderway='asc' }` 4. **自定义属性值**: - `flag`参数允许设置自定义属性,例如`flag="c"`代表推荐文章。其他可用的属性值...
10. **数据分析**:系统内置或者通过集成第三方工具,可以提供访问统计、热门文章、用户行为分析等功能,帮助运营者了解网站的运行情况,优化内容策略。 总之,dede5.3新闻发布系统为建立和管理新闻网站提供了一套...
DEDE MIP模板是基于DEDE CMS(织梦内容管理系统)和MIP(Mobile Instant Pages,移动加速页面)技术的一款经过改造的网站模板。DEDE CMS是中国广泛应用的开源CMS系统,它提供了强大的内容管理功能,方便用户搭建和...
10. **产品展示(dede:list)**: - `pagesize`, `imgwidth`, `imgheight` 控制每页显示的产品数量以及图片的宽度和高度。 - `dede:list` 标签用于创建产品列表,包含图片链接和文字链接。 11. **位置导航(dede:...
织梦(DedeCMS)是一款基于PHP...以上就是织梦DedeCMS常用的标签调用大全,它们极大地简化了模板开发工作,让网站的搭建和维护变得更加高效。了解并熟练运用这些标签,可以帮助你快速构建出功能丰富、易于管理的网站。
{dede:arclist}标签可以用来显示文章列表,例如:<ul>{dede:arclist row='10' typeid='1'}<li><a href='[field:arcurl/]'>{field:arctitle/}</a></li>{/dede:arclist} {dede:arcbody}标签可以用来显示文章内容,...