怎么解决织梦dedecms生成栏目HTML缓慢
这个功能需要根据下拉框内容来判断,具体代码如下:
<span class="[field:自定义字段名 addfields='自定义字段名' channelid='自定义字段内容模型id' runphp='yes']if(@me=='自定义字段对应值1 比如:已完结')@me='emd-ico';if(@me=='自定义字段对应值2 比如:未完结')@me='wei-ico';[/field:自定义字段名]">[field:zczt/]</span>
本人测试成功,我这段代码是放在{dede:list}{/dede:list}里面的 具体用哪个标签根据自己需要 只是提供一种解决思路
Tags: dedecms, dedecms标签, dedecms模板dedecms的Field 标记在封面模板、列表模板、文档模板的使用频率很高,实用。主要用来获得特定栏目或档案的字段值及常用的环境变量值,其用法比较灵活。可以直接展示数据, 如调用position,得到栏目一 > 栏目二” 这样形式的链接;或者,调用title得到当前文档的标题。一:Field标签使用说明
Arclist 标记的使用范围是:封面模板(如:index_articlehtm)、列表模板(如:list_articlehtm)、文档模板 (如:article_articlehtm)。 即对应templets\default\文件夹下的index_识别IDhtm模板、list_识别IDhtm模板、article_识别 IDhtm模板。
注意: 封面模板与列表模板是有区别的,但调用Field 标记可以相同; 封面模板有不同的类型,我们最常用的是文章模板(index_articlehtm),其它的还有模板 (index_imagehtm),简介模板(index_infohtm),软件模板(index_softhtm)等等,这些模板调用 Field 标记的道理都是一样的。
二、Field标签测试实例新建一个文件(如:testindexhtml)放到templets/default下,然后将列表栏目的模板文件指定为新建的文件(testindexhtml)然后更新相应栏目的HMTL,点击主页上的相应栏目即可显示相应的调用信息。testindexhtml文件的Field 标记调用代码: <font color="red">调用position标记,得到:栏目一 > 栏目二” 这样形式的链接:</font>{dede:field name='position'/}<br/> <font color="red">插件路径:</font>{dede:field name='phpurl'/}<br/> <font color="red">模板路径:</font>{dede:field name='templeturl'/}<br/> <font color="red">版权信息:</font>{dede:field name='powerby'/}<br/> <font color="red">主页路径:</font>{dede:field name='indexurl'/}<br/> <font color="red">主页名称:</font>{dede:field name='indexname'/}<br/> <font color="red">站点名称:</font>{dede:field name='webname'/}<br/> <font color="red">所在栏目:</font>{dede:field name='title'/}<br/>
织梦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进行生成,这样比较合理,不然线程过多,或者时间过程,很容易导致卡死!
都是调用栏目名称, 但用到的地方不一样
{dede:field name='typename'/} 是单独用的, 不跟其他标签嵌套
[field:typename/] 这种带方括号的是必须要嵌套在其他标签里面用的
比如:
<li>
{dede:type typeid='26'}
<a href="[field:typelink/]" target="_blank">[field:typename/]</a>
{/dede:type}
</li>
0条评论