怎么解决织梦dedecms生成栏目HTML缓慢
Hi,可以使用dedecms后台的单页面做
我把源码贴给你吧
这是txt版本的,
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
{dede:channel type='top' row='13'}[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='1'}[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='2' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='3' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='19' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='15' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='4' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='5' }[field:typeurl/]
{/dede:channel}{dede:arclist row='3000' typeid='1' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='2' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='3' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='5' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='19' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='4' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}
这是xml版本的
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<xml version="10" encoding="gb2312">
<xml-stylesheet type="text/xsl" href="sitemapxsl">
<urlset xmlns="
<url>
<loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{dede:channelartlist row='13'}
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='1'}
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='2' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='3' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='19' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='15' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='4' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='5' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:arclist row='3000' typeid='1' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='2' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='3' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='5' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='19' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='4' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='15' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
</urlset>
HTML的版本
<!doctype html>
<html lang="zh-cn">
<head>
<meta charset="gb2312">
<title>{dede:globalcfg_webname/}</title>
<meta name="keywords" content="{dede:globalcfg_keywords/}" />
<meta name="description" content="{dede:globalcfg_description/}" />
<meta name="Author" content="杨雨">
<meta name="Copyright" content="http://itbyccom">
</head>
<body>
<h1><a title="{dede:globalcfg_webname/}" href="
{dede:globalcfg_webname/}</a></h1>
<nav>
{dede:channelartlist }
<ul onmouseover="ShowMenuDd(this)" class="repeatItem">
<li><a title="{dede:field name='typename'/}" href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>
<li><ol>{dede:sql sql='Select from `dede_arctype` where reid=~id~ ORDER BY id'}
<li>
<a class="link" href="[field:typedir function="cn_substr(@me,200,9) " /]">[field:typename/]</a>
</li>
{/dede:sql}</ol></li>
</ul>
{/dede:channelartlist}
</nav>
<div>
<ol>{dede:arclist orderby='pubdate' row=100000 }
<li>
<a title="[field:fulltitle/]" href="[field:arcurl/]">[field:fulltitle/]</a>
<time>[field:pubdate function=MyDate('y-m-d',@me)/]</time>
</li>{/dede:arclist}
</ol>
</div>
</body>
</html>
实现这个功能应该不需要修改php文件吧
进入后台
栏目管理
找到你要生成到根目录的栏目
编辑栏目。看到有文件储存位置
修改为网站根目录
建议不要直接把所有html文档生成到根目录,很不利于管理,网站根目录会随着文档增多而增多,管理极为不便哦
梦客吧织梦模板 为您解答
望采纳
织梦dedecms生成栏目HTML缓慢的一个可能原因及解决方法:
1、找到dede\makehtml_list_actionphp 文件
在dede\makehtml_list_actionphp 的文件行 101 处
//$lv->CountRecord();
有这样一处注释掉的代码,这一个计算某个栏目类有多少分页的代码居然不运行,从而导致后面一行
if($lv->TypeLink->TypeInfos[‘ispart’]==0 && $lv->TypeLink->TypeInfos[‘isdefault’]!=-1) $ntotalpage = $lv->TotalPage;
else $ntotalpage = 1;
导致这里面的 $ntotalpage 根本得不到值 (NULL),因为 $lv->TotalPage 是在$lv->CountRecord 函数里面赋值
,从而想到,取消此处注释,让栏目生成HTML 分批进行
2、尽量不要一次性生成过多
在生成后台我们可以安排日期进行生成或者安排id进行生成,这样比较合理,不然线程过多,或者时间过程,很容易导致卡死!
0条评论