DEDE實(shí)現(xiàn)轉(zhuǎn)跳屬性文檔在模板上調(diào)用出轉(zhuǎn)跳地址
首先在/include/extend.func.php增加以下方法:
/**
* 動(dòng)態(tài)地址轉(zhuǎn)靜態(tài)輸出 by Windchaser QQ:939238564
* $arcurl 動(dòng)態(tài)網(wǎng)址
* @return String
*/
function arcurlHtml($arcurl){
preg_match('/view.php\?aid=(\d+)/',$arcurl,$arcid);
if(!empty($arcid) && is_array($arcid)){//匹配是否存在動(dòng)態(tài)地址
global $dsql;
$addtable = $dsql->GetOne("SELECT channel.addtable FROM #@__channeltype AS channel LEFT JOIN #@__archives AS arc ON arc.channel=channel.id
WHERE arc.id='{$arcid[1]}'");//獲取模型類型表名
$redirecturl = $dsql->GetOne("SELECT redirecturl FROM {$addtable['addtable']} WHERE aid = '{$arcid[1]}'");//動(dòng)態(tài)獲取表名,并查詢r(jià)edirecturl字段數(shù)據(jù)
if(!empty($redirecturl['redirecturl'])){
return $redirecturl['redirecturl'];//返回redirecturl字段數(shù)據(jù)
}else{
return $arcurl;
}
}else{//非動(dòng)態(tài)地址直接返回原地址
return $arcurl;
}
}
在模板上的使用方式有兩種形式:
#第一種: [field:arcurl function='arcurlHtml(@me)'/] #第二種: [field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];@me=arcurlHtml(@me);[/field:id]
完整調(diào)用:
#第一種
{dede:arclist titlelen='45' channelid='-1' limit='0,4' type='commend.' flag='c'}
<li class="RTLi"><a href="[field:arcurl function='arcurlHtml(@me)'/]" title="[field:title/]" target="_blank"><img width="236" height="136" src="[field:picname/]" /></a></li>
{/dede:arclist}
#第二種
{dede:sql sql="SELECT * FROM xzzj_channeltype a left join xzzj_archives b on a.id = b.channel where a.id=-1 ORDER BY b.pubdate DESC LIMIT 0,2"}
<a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];@me=arcurlHtml(@me);[/field:id]" class="s_contentRTPIA" target="_blank" title="[field:title/]" ><img src="[field:litpic/]" alt="[field:title/]" width="218" height="124" class="mb5"/><span class="s_contentRTPIASpan">[field:title/]</span></a>
{/dede:sql}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ThinkPHP的SAE開(kāi)發(fā)相關(guān)注意事項(xiàng)詳解
這篇文章主要介紹了ThinkPHP的SAE開(kāi)發(fā)相關(guān)注意事項(xiàng),結(jié)合實(shí)例形式較為詳細(xì)的分析了thinkPHP針對(duì)SAE開(kāi)發(fā)的相關(guān)數(shù)據(jù)庫(kù)、緩存、文件、圖片、日志等操作注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
php實(shí)現(xiàn)生成驗(yàn)證碼實(shí)例分享
由于注冊(cè)的時(shí)候常常會(huì)用到注冊(cè)碼來(lái)防止機(jī)器惡意注冊(cè),這里我發(fā)表一個(gè)產(chǎn)生圖片驗(yàn)證碼的基本圖像,很簡(jiǎn)陋,有需要的小伙伴可以參考下2016-04-04
Laravel框架基于中間件實(shí)現(xiàn)禁止未登錄用戶訪問(wèn)頁(yè)面功能示例
這篇文章主要介紹了Laravel框架基于中間件實(shí)現(xiàn)禁止未登錄用戶訪問(wèn)頁(yè)面功能,結(jié)合實(shí)例形式分析了Laravel框架中間件生成、注冊(cè)及使用相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
php對(duì)數(shù)組排序的簡(jiǎn)單實(shí)例
分享一個(gè)php數(shù)組排序的例子,介紹了和php,有關(guān)的知識(shí)、技巧、經(jīng)驗(yàn),和一些php源碼等2013-12-12
PHP+jQuery+Ajax實(shí)現(xiàn)分頁(yè)效果 jPaginate插件的應(yīng)用
這篇文章主要介紹了PHP+jQuery+Ajax實(shí)現(xiàn)分頁(yè)效果,以及jPaginate插件的應(yīng)用2015-10-10
Linux下PHP連接Oracle數(shù)據(jù)庫(kù)
PHP連接Oracle是通過(guò)oci8訪問(wèn)的。需要在web服務(wù)器上安裝oracle-instantcilent,使PHP支持Oracle擴(kuò)展包OCI。下面我們來(lái)一步步詳細(xì)介紹下如何使用PHP連接Oracle。2014-08-08
ThinkPHP 3.2.3實(shí)現(xiàn)頁(yè)面靜態(tài)化功能的方法詳解
頁(yè)面靜態(tài)化是我們?cè)陂_(kāi)發(fā)網(wǎng)站的時(shí)候經(jīng)常需要的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于ThinkPHP 3.2.3實(shí)現(xiàn)頁(yè)面靜態(tài)化功能的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08

