dedecms 栏目标题分字母大小写的吗

dedecms 栏目标题分字母大小写的吗,第1张

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/>

{dede:channel type="son" typeid='8'}

<a href="[field:typeurl/]" [field:global name=autoindex runphp="yes"](@me==1) @me="class=on hover":@me="class=on";[/field:global]>[field:typename/]</a>

{/dede:channel}

上面代码加上我字体加粗的部分代码就可以实现了,不懂可以追问我

dedecms织梦网站搜索不分大小写的问题

测试版本为织梦V57版本,编码为GBK,在使用其搜索模块时,出现了关键字不认大写字母的情况,如下图所示,例如关键字为"Abc"

追踪其源码在"/include/helpers/filterhelperphp"中第133行找到其函数"FilterSearch"

if ( ! function_exists('FilterSearch')){

function FilterSearch($keyword) {

global $cfg_soft_lang;

if($cfg_soft_lang=='utf-8') {

$keyword = preg_replace("/["$><']/", '', $keyword);

if($keyword != stripslashes($keyword)) {

return ''; }

else {

return $keyword; }

} else

{ $restr = '';

for($i=0;isset($keyword[$i]);$i++)

{ if(ord($keyword[$i]) > 0x80) {

if(isset($keyword[$i+1]) && ord($keyword[$i+1]) > 0x40) {

$restr = $keyword[$i]$keyword[$i+1]; $i++; } else

{ $restr = ' '; }

} else

{if(preg_match("/[^0-9a-z@#]/",$keyword[$i]))

----------将这里改为"if(preg_match("/[^0-9a-zA-Z@#]/",$keyword[$i]))"即可

{

$restr = ' '; }

else { $restr = $keyword[$i]; } } } } return $restr;

OK了,问题解决了!

首先,登录网站后台。

第二,选择系统-》系统基本参数-》性能选项-》(是/否)开启分页标题,开启会影响HTML生成速度-》选择是。

第三,选择开启长文章自动分页-》输入文章自动分页大小。

第四,点击确定。

注意:

合理设置分页大小,过大容易增加服务器负担,过小影响页面美观;

确定保存后,需更新所有文档,清楚网站缓存,才能看到效果。

参考dedecms的帮助文档中的arclist标签

标签名称:arclist

标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。

功能说明:获取指定文档列表

适用范围:全局使用

基本语法:

{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclist}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性可以通过多种方式进行多行显示

如果col='1'要多列显示的可用div+css实现

以下为通过div+css实现多列的示例:

<style type=text/css>

div{width:400px;float:left;}

</style>

{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}

•[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>

{/dede:arclist}

当col>1将使用原来的table多列方式显示

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;

getall='1' 在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类

titlelen = '30' 标题长度 等同于titlelength

infolen='160' 表示内容简介长度 等同于infolength

imgwidth='120' 缩略图宽度

imgheight='90' 缩略图高度

listtype='all' 栏目类型 image含有缩略图 commend推荐

orderby='sortrank' 文档排序方式

§ orderby='hot' 或 orderby='click' 表示按点击数排列

§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列

§ orderby='near'

§ orderby=='lastpost' 按最后评论时间

§ orderby=='scores' 按得分排序

§ orderby='id' 按文章ID排序

§ orderby='rand' 随机获得指定条件的文档列表

keyword='' 含有指定关键字的文档列表,多个关键字用","分

innertext = '' 单条记录样式

aid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid 频道ID

limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]

noflag = '' 同flag,但这里是表示不包含这些属性

orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序

subday='天数' 表示在多少天以内的文档

用arclist调用于附加表字段的方法:

要获取附加表内容,必须符合两个条件

1、指定 channelid 属性

2、指定要获得的字段 addfields='字段1,字段'

如:

{dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}

[field:textlink /] - [field:softtype /]<br />

{/dede:arclist}

底层模板字段:

ID(同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,

source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,

description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,

stime(pubdate 的"0000-00-00"格式)

其中:

textlink = <a href='arcurl'>title</a>

typelink = <a href='typeurl'>typename</a>

imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>

image = <img src='picname' border='0' width='imgwidth' height='imgheight' alt=’titile’>

字段调用方法:[field:varname/]

如:

{dede:arclist infolen='100'}

[field:textlink/]

<br>

[field:infos/]

<br>

{/dede:arclist}

注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。

如: 给当天发布的内容加上 (new) 标志

[field:senddate runphp='yes']

$ntime = time();

$oneday = 3600 24;

if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>";

else @me = "";

[/field:senddate]

给php的这个函数强制设定编码格式,这样也能解决这个问题,具体对应的位置是

①:dede/article_addphp 这个php文件中查找

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

改成

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');

②:然后再找到dede/article_editphp这个php文件中查找

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

改成

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');

③:include/ckeditor/ckeditor_php5php 查找

htmlspecialchars($value)

改为htmlspecialchars($value, ENT_COMPAT ,'GB2312')

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms 栏目标题分字母大小写的吗

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情