首頁  >  文章  >  CMS教程  >  織夢Dedecms中萬用標籤loop不能輸入URL怎麼辦

織夢Dedecms中萬用標籤loop不能輸入URL怎麼辦

藏色散人
藏色散人原創
2019-12-09 09:25:252100瀏覽

織夢Dedecms中萬用標籤loop不能輸入URL怎麼辦

織夢Dedecms中萬用標籤loop不能輸入URL怎麼辦?

本文實例講述了織夢Dedecms中萬能標籤loop無法輸入URL的解決方法。分享給大家供大家參考。具體分析如下:

萬能標籤loop是可以隨意的在dedecms中調用任意表的數據標籤了,所以叫萬能標籤但今天在使用loop時發現我們常用的arcurl為空了,意思就是url沒有那就等於這個標籤沒有了,下面我就來給大家解決此問題吧.

先看官方對於loop標籤說明

標籤名稱:loop

功能說明:呼叫任意表的資料標籤

適用範圍:全域標記

基本語法,程式碼如下:

程式碼如下:

{dede:loop table='dede_archives' sort='' row='4' if=''} 
<a href=&#39;[field:arcurl/]&#39;>[field:title/]</a> 
{/dede:loop}

標籤屬性:

table:查詢表名

sort:用於排序的欄位

row:傳回結果的條數

if:查詢的條件

按照這樣我寫了一個簡單的例子,程式碼如下:

程式碼如下:

{dede:loop table=&#39;dede_archives&#39; sort=&#39;&#39; row=&#39;4&#39; if=&#39;&#39;} 
<a href=&#39;[field:arcurl/]&#39;>[field:title/]</a> 
{/dede:loop} 
//输出结果 
你好dedecms

大家會注意到href=''空了就沒有url位址呀,這個標籤所以對於我講沒用了,百度找到一個解決辦法.

1.打開Include/common.func.php,找到54行,再這裡添加一個函數代碼如下:

程式碼如下:

function IDReturnURL($ID) 
{ 
//lonely 
global $dsql; 
$query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault, 
tp.defaultname,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath 
from dede_archives arc left join dede_arctype tp on arc.typeid=tp.id where arc.id = ".$ID;
$row = $dsql->GetOne($query); 
$ReturnURL = GetFileUrl($row[&#39;id&#39;],$row[&#39;typeid&#39;],$row[&#39;senddate&#39;],$row[&#39;title&#39;],$row[&#39;ismake&#39;], 
$row[&#39;arcrank&#39;],$row[&#39;namerule&#39;],$row[&#39;typedir&#39;],$row[&#39;money&#39;],$row[&#39;filename&#39;],$row[&#39;moresite&#39;],$row[&#39;siteurl&#39;],$row[&#39;sitepath&#39;]); 
return $ReturnURL; 
}

2.而在範本中我們的呼叫方式的寫法也有所改變,程式碼如下:

#程式碼如下:

{dede:loop table=&#39;dede_archives&#39; sort=&#39;&#39; row=&#39;4&#39; if=&#39;&#39;} 
<li>·<a href=&#39;[field:id function=IDReturnURL(@me)/]&#39;>[field:title function=cn_substrR(@me,44)/]</a></li> 
{/dede:loop}

問題已經完美解決了,同樣的當你要用自訂sql 標籤的時候,也是一樣的.

其實,就是用[field:id function=IDReturnURL(@me)/]代替了[ field:arcurl/]標籤,我解決此問題的核心就是[field:id function=IDReturnURL(@me)/]和IDReturnURL.

後來自己想想於是再接著找發現了一個arclist標籤了,程式碼如下:

程式碼如下:

{dede:arclist flag=&#39;h&#39; typeid=&#39;&#39; row=&#39;&#39; col=&#39;&#39; titlelen=&#39;&#39; infolen=&#39;&#39; imgwidth=&#39;&#39; imgheight=&#39;&#39; listtype=&#39;&#39; orderby=&#39;&#39; keyword=&#39;&#39; limit=&#39;0,1&#39;} 
<a href=&#39;[field:arcurl/]&#39;>[field:title/]</a> 
{/dede:arclist}

這樣我們可以直接使用如下程式碼:

程式碼如下:

{dede:arclist row=&#39;10&#39; titlelen=&#39;24&#39; orderby=&#39;pubdate&#39; idlist=&#39;&#39; col=&#39;2&#39;} 
•[field:textlink/]([field:pubdate function=MyDate(&#39;m-d&#39;,@me)/])<br/> 
{/dede:arclist}

即可解決了.

以上是織夢Dedecms中萬用標籤loop不能輸入URL怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn