【精】织梦CMS:栏目地址文章地址各种意想不到的获取方式,(老板再也不用担心网站出问题了1)

版权声明:禁止转载至其它平台,转载至博客需带上此文链接。 https://blog.csdn.net/a1351218627/article/details/86629294

首先介绍一下常规的方式:
在栏目类标签中调用栏目地址:

  1. [field:typeurl/]:未开绝对网址前是相对路径,如:/xxx/aaa/,开启绝对网址后的路径:https://www.xuexin365.com/xxx/aaa/
  2. [field:typelink/] 等于<a href="[field:typeurl/]">[field:typename/]</a>,开启绝对之后同上
  3. {dede:type row=1}[field:typelink /]{/dede:type} 当前栏目url
  4. {dede:type typeid=‘指定栏目ID’}[field:typelink /]{/dede:type} 调用某个栏目的url
  5. 在嵌套标签中第一层调用栏目地址有点特殊:{dede:field name='typeurl'/}

在文章类标签中调用文章地址:

  1. [field:arcurl/] url形式:/xxx/123.html,开启绝对之后同上
  2. [field:textlink/] 等于<a href="[field:arcurl/]">[field:title/]</a>,开启绝对之后同上
  3. {dede:arclist idlist=‘指定文章ID’ limit=‘0,1’}[field:arcurl /]{/dede:arclist} 调用某个文章的url

好了接下来是一些意想不到,但是非常有用的获取url方式(以下方式均适用在{dede:sql}
栏目类:
   [field:typedir function=(substr("@me",9))/]
   [field:id function=IReturnURL(@me)/] 这个标签强烈推荐,灵活性很高,并且不受局限性,下面会有举例说明

文章类:
   [field:id runphp=‘yes’]$url=GetOneArchive(@me);@me=$url[‘arcurl’];[/field:id]
通用,可调用文章URL和栏目URL
   [field:array runphp=‘yes’]@me=GetOneTypeUrlA(@me);[/field:array]

关于 [field:id function=IReturnURL(@me)/] 的说明:
将以下代码加在include/common.func.php的54行

/*
**$ID 要组装url的id
**$State 选填,开启绝对网址后将绝对网址换为系统基本参数中的cfg_waphost的值,cfg_waphost需要手动加,1为启用
*/
function IReturnURL($ID,$State){
global $dsql;		
$row = $dsql->GetOne("SELECT * FROM dede_arctype where id = {$ID}");	//执行sql语句
$cfg_waphost =  isset($GLOBALS['cfg_waphost']) ? $GLOBALS['cfg_basehost'] :$GLOBALS['cfg_waphost'];
//1为启用
$siteurl = $State == 1 ? $cfg_waphost : $row['siteurl'];
//该id的dede_arctype这些数据进行组装成field:arcurl,GetTypeUrl
$link = GetTypeUrl($row['typeid'],MfTypedir($row['typedir']),$row['isdefault'],$row['defaultname'],$row['ispart'],$row['namerule2'],$row['moresite'],$siteurl,$row['sitepath']);	
return $link;
}

[field:id function=IReturnURL(@me)/] 几个灵活栗子:
获取当前栏目上级id:{dede:field.reid function=IReturnURL(@me)/}
在任意标签中获取指定栏目url:[field:id function=IReturnURL('指定栏目URL')/]
也就是@me的值是多少,就获取对应(ID)的栏目URL

开启绝对地址后,二级域名中栏目URL的绝对域名改为当前二级域名,[field:id function=IReturnURL(@me,1)/]

猜你喜欢

转载自blog.csdn.net/a1351218627/article/details/86629294