dedecms dede:arclist 怎么调用文章副栏目的名称,我是要文章副栏目的名称和该栏目的链接

dedecms dede:arclist 怎么调用文章副栏目的名称,我是要文章副栏目的名称和该栏目的链接,第1张

首页调用{dede:arclist typeid='xx' row='调用条数'channelid='文章模型id'addfields='自定义字段名' } [field:自定义字段/]{/dede:arclist}列表调用自定义字段:必须使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)勾上他{dede:listpagesize='调用条数'channelid='文章模型id' addfields='自定义字段名'} [field:自定义字段/]{/dede:list}

1 dedecms网站GBK与UTF

在帮别人修改织梦模板的时候,别人的要求是: 在现有的织梦做网站上 增加一个多语言界面,就是在现有的中文界面上新增 英文,日文 和韩文。

第一个当然想得就是在织梦后台新增几个这样的 栏目。然后只要将模板做成其他的语言就可以调用了。

但是也遇到了一个问题就是它现有网站的织梦是gbk的。

这种gbk是一种中文编码,若想出现其他语言文字就必须转化成UTF-8的,所以自己就再网上整理了一下 找到了一个比较不错也适合自己的转换方式:

1 备份网站的所有数据

这一部分是很重要的 ,尤其是数据库的备份。先织梦后台备份,然后再整站进行备份

2导出数据库文件并转换。

这一部分需要使用到PHPMyadmin 我们在MyAdmin 找到网站的数据库名,默认的数据表前缀为dede_ 全选这些数据表,选择导出。将导出的。sql文件在本地 用专门的编辑工具打开(可以使用DW或者是Notepad++等)

我们查找CHARSET=gbk 全部替换为CHARSET=utf8

查找gb2312全部替换成utf8

然后保存。

3模板文件的转换

用DW打开模板文件,选择修改——页面属性——标题/编码 :

织梦gbk转utf8

我们只要将编码选择为 UTF-8即可,下面还有一个选择就是 是否包含Unicode签名(BOM) 这个不要选择 否则在使用织梦模板插入include时会出错

若发现有的文字出现了乱码 自己手动更改即可!

将全部的模板文章转换问UTF-8格式的!

文件基本上就转换好了!

4安装UTF-8格式的织梦安装包

你使用的是织梦哪个版本的织梦就安装相应的UTF-8格式的安装包,安装好之后使用MyAdmin 将这个新数据库名中格的表删除,并将转换好的。ssql文件导入即可,将转换好的模板文件覆盖。

2 织梦系统怎么把utf编码转成gbk

首先登陆dedecms网站后台,使用系统菜单下的数据库备份/还原功能,将网站的数据备份,记住要备份数据表结构,然后使用FTP工具将备份好的数据文件下载到您的电脑上。

备份的文件中有tables_struct_xxx这样一个文件,用dreamweaver或EditPlus打开这个文件,使用查找与替换命令,将CHARSET=gbk替换为CHARSET=utf8,然后要保存。打开准备的转码软件,将第所备份的文件(包括上面修改过的文件),将GBK转换为UTF-8格式。当然,转换好的文件一定是在一个新的文件夹里面,以便区分原来的GBK的文件。

至此这一步,就将数据库文件由GBK格式成功的转换为了UTF-8格式。

3 DEDEcms,GBK和UTF8版本互相转换有什么方法

当前安装版本为:dedecms v57 utf8,目标将网站由UTf8版本转换为GBK版。

2写在转换之前:要转换dede系统的版本,实际上是编码的转换的问题,要将mysqls数据从utf8转换为gbk编码,将模板文件的编码也要转换为GBK模式。在本文中两个核心工具,帝国备份王和Editplus 编辑器。

用ebak2008工具的备份/恢复功能,巧妙dede数据库utf-8编码的无错转换为gbk编码格式。站点文件的转换就用Editplus 编辑器。

END二数据的备份1在转换之前,将dede做整站备份,备份内容包括mysql数据库,dede站点文件,如果网站容量非常大的话,可以登录空间管理后台将整个网站进行打包,然后下载。备份的目的就是了防止转换失败后还有退路。

登录dede后台,选择“系统 ”中 “数据库备份/还原 ”备份dede数据库。2备份完毕,请登录ftp下载到本地电脑保存。

Dede备份数据存储位置:/data/backupdataEND三数据库编码转换1解压缩ebak2008,将ebak2008文件夹上传到网站空间的根目录。用帝国备份王(ebak2008)反向操作,强制转换dedecms v57 utf8版本的mysql数据编码为gbk。

2打开帝国备份王(ebak2008)工具(地址为:原域名/ebak2008),登陆3在登陆后的帝国备份王界面,点击“备份数据”,4备份数据界面,选择要备份的数据库,请注意操作,别选错了。5非常重要!虚拟主机安装的dede系统是utf8版,在备份的时候不能选择 “utf8编码进行备份 ”。

在这里要反向操作(如果是utf8就选gbk,如果是gbk就选utf8)。备份时请特别注意:选择数据库编码为gbk,不能选择其它方式,否则在转换后会出现乱码。

数据存储目录命名为:date_gbk_20150618160956。一般用默认的就可以了。

点击,屏幕最下方的 开始备份 ,等待完成操作!END四将gbk格式的dede数据库备份恢复到系统登陆主机ftp后台,将原来的dedecms的目录dede,改为deded_utf8_bak上传DedeCMS-V57-GBK-SP1tar,到主机后台进行解压缩,将其中的uploads文件夹改为dede,移动到public_html/目录中,此操作可以节省大量上传的时间接着就可以重新安装dede系统了,安装过程不作演示在安装DedeCMS-V57-GBK-SP1版时,按默认安装即可。安装完毕后,进后台将插件之类的也重新安装好然后登录ebak2008数据库备份工具,选择“数据恢复”,恢复第二步骤中将utf8编码强制转换为gbk格式的数据库(date_gbk_20150618160956)。

帝国备份王(ebak2008)恢复数据仅需要50秒左右,速度相当的快。恢复数据后,请登录dede管理后台,重新生成一下网页。

检查首页无乱码,织梦网站管理系统(dedecms)utf8成功转换gbk。进入网站管理后台,检查数据库表,Mysql数据表无乱码:转换成功后的小错误,由于dede默认的utf8和gbk版本的差别,在转换成功后,“图文资讯”和“首页幻灯片”丢失,丢失的重新上传一下就OK!整个过程无报错,显示正常再次进入主机后台找到dede_utf8_bak目录下的uploads下的alimg目录(这个目录就是首页和上传的存放的位置),把这个目录加入到剪贴板,再进入dede目录下的uploads,复制剪贴板的文件到这里,这样就恢复正常了本站使用的是dede默认的模板,所以在转换的时候没有改动dede的模板文件,如果你的网站对DEDE的一些文件没有改动,直接按照我的方法就可以成功转换。

如果有改动的文件,请将你改动的文件转换为gbk编码。用Editplus 编辑器将站点文件中的utf8转换为gbk编码。

重点是dede模板文件编码的转换,细心的用Editplus 编辑器修改,完毕后,上传覆盖即可。

4 dedecms的UTF

我看了下他的模板,这个改动量就太大了。你要把模板里的这些文件依次打开,并将<meta ; charset=utf-8" />;改成<meta ; charset=gb2312" />;。而且他的plus里也要改。整理起来很麻烦。

内容页 -标签:

{dede:fieldtypeid2 runphp='yes'}

$dsql= new dedesql();

$ks = split(',', @me);

$type2name="";

foreach($ks as $k){

$k = trim($k);

if ($k!="") {

if ($row = $dsql->getOne("select ,ID as id1 from dede_arctype where id="$k)){

$type_path=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['siteurl']);

$type2name="<a href='"$type_path"' target=_blank>"$row['typename']"</a> ";

}

}

}

@me=substr($type2name,0,strlen($type2name)-1);

{/dede:fieldtypeid2}

首页 列表页 -标签 :

[field:typeid2 runphp='yes']

$dsql= new dedesql();

$ks = split(',', @me);

$type2name="";

foreach($ks as $k){

$k = trim($k);

if ($k!="") {

if ($row = $dsql->getOne("select ,ID as id1 from dede_arctype where id="$k)){

$type_path=GetTypeUrl($row['id1'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['siteurl']);

$type2name="<a href='"$type_path"' target=_blank>"$row['typename']"</a> ";

}

}

}

@me=substr($type2name,0,strlen($type2name)-1);

[/field:typeid2]

方法:typeid='top' 或者typeid='asdas'任意字母不为空不为数字 写上这一个属性就可以了

{dede:arclist orderby='pubdate'  titlelen='28' row='7' typeid='top' }

如果是在文章页 这篇文章又是最新刚发布的,那么最新文章里就会包含这篇文章,想要去除这篇文章,可以加limit{dede:arclistorderby='pubdate'  titlelen='28'row='7'typeid='top'  limit='1,7'}

当然如果不是最新的文章,再次生成的时候还是有可能和当篇文章重复的

织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展。

目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用该系统。

参考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]

第一行:

<meta name="keywords" content="{dede:fieldkeywords"/>

后面少了个 大括号吧? “}”

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms dede:arclist 怎么调用文章副栏目的名称,我是要文章副栏目的名称和该栏目的链接

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情