织梦标签大全包含最全Php运用

搞了织梦很多年了,但是老是经常记不住那些标签,干脆就写个最全的来整合下吧!持续更新中...


模板调用大全

     <title>{dede:global.cfg_webname/}</title>
    <meta name="keywords" content="{dede:global.cfg_keywords/}" />
    <meta name="description" content="{dede:global.cfg_description/}" />



{dede:include filename="head.htm"/}//头部
{dede:include filename="footer.htm"/}//底部
{dede:include filename="/m/footer.htm"/}//调用其他文件夹,适用于同时生成手机端,方法可在本站搜索到
{dede:global.cfg_templets_skin/}//模板目录

使用小技巧

//把头部标签设置为head1和head2分别在文章和列表调用
{dede:include filename="head1.htm"/}//列表
{dede:include filename="head2.htm"/}//文章
//然后通用的css和js就不说了 注意新增字段cfg_sjbdhost 手机端域名

标签内内容


列表页

{dede:include filename="head1.htm"/}

首页

 <script type="text/javascript">
    if (window.location.toString().indexOf('pref=padindex') != -1) {} else { if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))) { if (window.location.href.indexOf("?mobile") < 0) { try { if (/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { window.location.href = "http://{dede:global.cfg_sjbdhost/}"; } else if (/iPad/i.test(navigator.userAgent)) {} else {} } catch (e) {} } } }
    </script>


内容调用包含跳转手机端

<title>{dede:field.typename/}_{dede:field.seotitle/}</title>
<meta name="keywords" content="{dede:field.typename/},{dede:field name='keywords'/}" />
<meta name="description" content="{dede:field.seotitle/}:{dede:field name='description'  function='html2text(@me)'/}" />
<script type="text/javascript">
if(window.location.toString().indexOf('pref=padindex') != -1){}
else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent))
{window.location.href="http://{dede:global.cfg_sjbdhost/}{dede:type row=1}[field:typelink /]{/dede:type}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

文章页

//文章页调用头部内容
<title>{dede:field.title/}</title>
<meta name="description" content="{dede:field.title/}--{dede:field.description function='html2text(@me) '/}" />
<meta name="keywords" content="{dede:field.title/},{dede:field name='keywords'/}" />
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent))
{window.location.href="http://{dede:global.cfg_sjbdhost/}{dede:field name='arcurl'/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>


列表页调用大全

列表标签

{dede:list col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' pagesize='' orderway=''}
{/dede:list}
//其实最常用的就是titlelen=''(标题长度) infolen=''(简介长度)  pagesize=''(每页几个) 其他都不怎么用
orderby='' 排序方式,有效的排序方式有 senddate、pubdate、id、click、lastpost、postnum ,默认为 sortrank

arc列表

{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}
//同上,增加的是aid=""指定文章的id
//idlist ='' 提取特定文档(文档ID) 如果只调用单篇文章则用这个!
//limit='起始ID,记录数'  (起始ID从0开始)表示限定的记录范围(如:limit='1,2'  表示从ID为1的记录开始,取2条记录)
//flag = 'h' 自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]
//noflag 同上为不包含
//orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
//subday='天数' 表示在多少天以内的文档
//orderby排序hot或click点击数;sortrank或pubdate出版时间;near,lastpost评论时间;scores得分;id文章ID;rand随机

上面为基础,下面我们主要介绍的是围绕里面的内容进行了扩张





标题/简介

[field:title/]
[field:infos/]
[field:info/]

扩展

主要是根据自带函数,判断字符串数,然后假设超出字符串,则剩下的内容显示为指定的... 字符,或者自定义其他也行。

注:只要是文字类的都可以。

[field:title function='( strlen("@me")>25 ? cn_substr("@me",25)."..." : "@me" )'/]
[field:info function='( strlen("@me")>45 ? cn_substr("@me",45)."..." : "@me" )'/]




略缩图

调用链接

[field:litpic/]

扩展

功能:如果有略缩图则显示略缩图,如果为系统默认的,则为空

主要是利用php strpos函数进行查找字符串defaultpic 出现的位置,如果查找到了 就证明是没有略缩图的,则为空

如果没有查找到,则正面有略缩图,那么就可以自己自定义图片的标签了!或者增加div 等等

注明 ?后面的 '' 就是假设是ture 则显示的内容 我是让他为空所以没写,你也可以自定义

 [field:array runphp='yes']
    @me=(strpos(@me['litpic'],'defaultpic')?'':"<div class=img><img src='{@me['litpic']}' alt='{@me['title']}'/></div>");
[/field:array]

略缩图2

[field:image/]

这个标签估计很少人用因为他会调用出图片整个标签,这样是不利于前端操作的

<img src="链接" />

所以我进行了部分php 改版

主要是要2个文件 

一个是列表文件include》arc.listview.class.php  对应的list标签

另外一个是include》taglib》 arclist.lib.php 对应arclist标签

找到

 if($row['litpic'] == '-' || $row['litpic'] == '')
      {
    $row['litpic'] = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';

这里是判断略缩图是否为空,如果为空则调用默认的图片

我们需要在上面扩展

                if($row['litpic'] == '-' || $row['litpic'] == '')
                    {
                        $row['litpic'] = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';
                        $row['litpics'] = '233';//随便定义一个吧!就是他为空的时候增加litpics函数为233
                    }
                    //然后我们再判断如果为空则设置image标签 的内容是什么,因为我基本上列表图片都会加img层 所以我这样设置后只要[field:image/]标签就能自动判断是否有略缩图,有就显示并加div 看个人习惯改,没有就不显示了
                    if($row['litpics'] != '233')
                    {
                     $row['image'] = "<div class='img'><img  src='".$GLOBALS['cfg_basehost'].$row['picname']."' border='0' width='$imgwidth' height='$imgheight' alt='".preg_replace("/['><]/", "", $row['title'])."'></div>"; 
                    }
                    else
                    {
                         $row['image'] ="";
                    }


调用多张图片

自己点连接看吧!有点长

http://www.xhcss.com/xh/dedecms/question/182.html

值得注意的是

 [field:array runphp='yes']
                       $image=@me['litpic'];
                       @me=($GLOBALS['autoindex'])===1?"$image":"";
                       [/field:array]

如果需要调用全局参数,则:

$base=$GLOBALS['cfg_basehost'];

即可。


文章页

{dede:field.title/}

{dede:field.click/}

{dede:field.pubdate function='strftime("%Y-%m-%d",@me)'  /}

{dede:prenext get='pre'/}

{dede:prenext get='next'/}

{dede:field name='keywords'/}

{dede:field.description function='html2text(@me) '/}


上面是通用的标签,我们重点来讲述下php的解析

我们看下面的代码,作用是为文章内的图片增加链接

{dede:field.body function='replaceurlsj(@me)'/}

我们打开include>extend.func.php,在最下面增加

//替换图片绝对地址{dede:field.body function='replaceurlsj(@me)'/}
    function replaceurlsj($content){
            $pattern = Array("/<img(.*?)src=('|\")([^>]*).(bmp|jpeg|jpg|png)('|\")(.*?)>/i");
            $replacement = Array("<img $1  src=$2".$GLOBALS['cfg_basehost']."$3.$4$2 />");
            $content = preg_replace($pattern, $replacement, $content);
        return $content;
    }

然后我们图片就能增加系统基本参数的站点根网址了。


TAG标签调用大全

列表页

[field:id function=GetTags(@me)/]

列表增加链接,主要运用的是织梦自带函数GetTags,然后根据,进行php切割

[field:id runphp='yes']     
global $cfg_cmspath;        
$tags = GetTags(@me);        
$revalue = '';        
$tags = explode(',', $tags);        
foreach($tags as $key => $value){
            if($value){
                $revalue .= '<a href="'.$cfg_cmspath.'/tags.php?/'.$value.'/">'.$value.'</a>&nbsp;';         
   }      
  }        
@me = $revalue;     
[/field:id]

文章页

{dede:tag sort='new' getall='0'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}

全局

new为最新,month为本月,rand为随机

   {dede:tag row='60' sort='new'}
            <a href='[field:link/]' class='tagc[field:highlight /]'>[field:tag /]</a>
            {/dede:tag}



写的好!

微信扫一扫赏大洋