怎么让dedecms搜索页面支持标签调用及自定义字段调用
dedecms栏目名称的调用方法:
{dede:field name="typename"} 调用当前栏目的名称
{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}调用该顶级频道下所有字栏目,row代表调用5条
{dede:type typeid='栏目id'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:type} 表示调用指定id的栏目,只能调用一个。
{dede:channel type='top'}<a>[field:typename/]</a> {/dede:channel}调用子栏目的当前顶级栏目名称。
调用顶级栏目名称示例代码:
{dede:fieldtitle runphp=’yes’}list($toptype,$sontype)=split(‘/’,@me);@me=$toptype;{/dede:fieldtitle}dedecms也叫织梦内容管理系统,是一款知名的PHP开源网站内容管理系统,以简单、实用、开源而闻名,DedeCms免费版的主要目标用户在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用。
普通文章列表调用内容多张不能用图集模型的办法,需要自己写一个函数,在include/extendfuncphp 增加函数
function Getpic($body){
$getpic = '';
preg_match_all("/(src)=[\"|'| ]{0,}([^>]\(gif|jpg|bmp|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);
if(count($img_array)>0)
{
foreach($img_array as $key=>$value)
{
$picname = preg_replace("/[\"|'| ]{1,}/", '', $value);
$getpic ="<p><img src='"$picname"' border=0 /></p>";
}
}
else
{
$getpic="<p>没有</p>";
}
return $getpic;
}
列表页模版使用标签
{dede:list pagesize='10' addfields='body'}<li><a href='[field:arcurl /]' target='_blank'>
<span class="title">[field:title /]</span>
[field:body function='Getpic(@me)'/]
</a></li>
{/dede:list}
同时到网站后台-内容模型管理,修改普通文章模型附加列表字段增加body
保存后,就可以更新列表了,这样就能在列表页显示文章正文内所有
首页调用{dede:arclist typeid='xx' row='调用条数'channelid='文章模型id'addfields='自定义字段名' } [field:自定义字段/]{/dede:arclist}列表调用自定义字段:必须使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)勾上他{dede:listpagesize='调用条数'channelid='文章模型id' addfields='自定义字段名'} [field:自定义字段/]{/dede:list}
在底层模板设置typeid参数,即可
标签名称:list
功能说明:表示列表模板里的分页内容列表
适用范围:仅列表模板 list_htm
基本语法:
{dede:list col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' pagesize='' orderway=''}{/dede:list}
参数说明:
col='' 内容列数
titlelen='' 标题长度
infolen='' 内容摘要长度
imgwidth='' 缩略图宽
imgheight='' 缩略图高
orderby='' 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为 sortrank
pagesize='20' 分页大小
底层模板字段:
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"格式)
注:list标记除了支持档案表的基本模板变量外,还支持附加表的字段,你可以在模型管理中知道附加表支持列表使用的字段有哪些。
<tr>
{dede:arclist addfields='sjdz,yysj' channelid='1' row='10' orderby='sendate'}
<td>商家地址:[field:sjdz/]</td>
<td>营业时间:[field:yysj/]</td>
{/dede:arclist}
</tr>
有些参数是我随意加上去的,关键是addfields和channelid,addfields里面是你的自定义字段,channelid如果是普通文章就是1,其他后台有,根据需要改。
您好,您这样:
以普通文章频道中新建字段为例:添加“问题答案”字段名称 "daan"点击核心-频道模型-内容模型管理-普通文章
点击 字段管理-添加新字段
依次填写:
(1)表单提示文字:问题答案
(2)字段名称:daan
(3)字段类型:选择 系统自动生成表单字段
(4)数据类型:多行文本
(5)最大长度:1000
点击确定
回到 字段管理页面 如图所示
点击 基本设置
找到 列表附加字段,填入新建字段 daan ,用英文逗号隔开
点击 确定
新建客户问答栏目-编辑问题、答案
问答列表调用代码:
自定义字段在栏目列表中掉用{dede:list pagesize='3'addfields='daan'}
<li >
<a href="[field:arcurl/]">[[field:title/]]</a>
<p> 答案:[field:daan function='cn_substr(@me,270)'/] </p>
</li>
{/dede:list}自定义字段在首页调用:channelid是内容模型的ID号,文章的ID是 "1"{dede:arclist addfields='daan' row='3' channelid='1'}
<a href="[field:arcurl/]">[[field:title/]]</a>
<p> 答案:[field:daan function='cn_substr(@me,30)'/] </p>
{/dede:arclist}
0条评论