dedecms自定义字段标签问题
1进入专题管理界面,点击添加专题,出现界面如下:
2然后把“专题名称”,“主分类”,“关键字”,“专题简介”等相关信息填写好,这里的主分类,其实就是要把这个专题放在哪个栏目里,,反正根据自己的需要来设定就行。如果为了展示的效果,还可以在“缩略图”这个地方,给这个专题增加一个缩略,添加的方法。至于“专题模板”,dedecms自带了一个模板,默认名称叫“article_spechtm”但是大部分人都不用默认,因为基本没人用默认的模板。
3以上信息都填写好了以后,点击旁边的“专题文档”,就进入选择文章的环节。
4“节点名称”其实就是这个专题下的分类名称,选择“节点文章”就是对应这个分类,想展示的文章内容。
点击“节点文章”后,会谈出一个对话框,对话框是网站里的所有文章,为了方便选择,可以使用右下角的“搜索”,输入要的关键词,展示网站里的文章,勾选你要的文章以后,点击“把选定值加到列表”,内容就选定了。
5选好了内容,文章ID选定,确定以后的界面如下:
6下面的节点2、3、4……以此类推,来选择自己的文章。都弄好了以后,确定就可以发布专题了。但是如果模板路径/templets/default/下面没有article_spechtm这个模板文件,是不能发布专题的。
织梦后台文章内无法上传的解决办法如下:
(步骤1)启动phpstudy,将phpstudy版本切换到55及以上。
(步骤2)重启phpstudy,然后返回后台再次发表文章时就可以上传了。
备注:我使用的是dedecms57SP2版本。
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /include/extendfunc 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的>上一行加入以下函数代码:(如果结尾没有>那就直接在最下面添加)
function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ $dtp = new DedeTagParse(); $dtp->LoadSource($img); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='img'){ $width = $ctag->GetAtt('width'); $height = $ctag->GetAtt('height'); $imgurl = trim($ctag->GetInnerText()); $img = ''; if($imgurl != ''){ if($ftype==1){ $img = $imgurl; } else{ $img = '<img src="'$imgurl'" width="'$width'" height="'$height'" />'; } } } } } $dtp->Clear(); return $img; } }
可以直接用下面的方法调用
[field:自定义字段名 function="GetOneImgUrl(@me,显示类型)"/]
最终使用方法。
{dede:arclist typeid='12' addfields='datu' channelid='17' limit='0,7'}
<li><a href="[field:arcurl/]" target="_blank"><img border="0" src="[field:datu function='GetOneImgUrl(@me,1)'/]"></a></li>
{/dede:arclist}
最终调用到这个地址。
这个简单,织梦后台有上传文件功能,你只需要吧所有都按顺序命名,比如:banner1jpg、banner2jpg、banner3jpg等等,然后把传到指定的文件夹。
然后在后台的基本参数增加新变量,变量名为:cfg_banner,如下图
接着我们拿images文件夹为例子,模板中这样写:
<img src="/images/banner{dede:globalcfg_banner/}jpg">
这样你只需在后台修改数字1、2、3、4就可以改变相应了
普通文章列表调用内容多张不能用图集模型的办法,需要自己写一个函数,在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
保存后,就可以更新列表了,这样就能在列表页显示文章正文内所有
0条评论