Heim > Artikel > CMS-Tutorial > Was soll ich tun, wenn die URL nicht für die universelle Tag-Schleife in Dedecms eingegeben werden kann?
Was soll ich tun, wenn ich die URL für die universelle Tag-Schleife in Dedecms nicht eingeben kann?
Das Beispiel in diesem Artikel beschreibt die Lösung für das Problem, dass die universelle Tag-Schleife in Dedecms die URL nicht eingeben kann. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Die universelle Beschriftungsschleife kann die Datenbeschriftung jeder Tabelle in dedecms frei aufrufen, daher wird sie heute als universelle Beschriftung bezeichnet. Bei der Verwendung der Schleife haben wir jedoch festgestellt, dass sie häufig verwendet wird arcurl ist leer, was bedeutet, dass das Tag nicht mehr vorhanden ist.
Lesen Sie zuerst die offizielle Beschreibung des Loop-Tags.
Tag-Name. Schleife
Funktionsbeschreibung: Rufen Sie das Daten-Tag
einer beliebigen Tabelle auf. Anwendungsbereich: Globales Tag
Grundlegende Syntax, der Code lautet wie folgt:
Der Code lautet wie folgt:
{dede:loop table='dede_archives' sort='' row='4' if=''} <a href='[field:arcurl/]'>[field:title/]</a> {/dede:loop}
Beschriftungsattribute:
Tabelle: Name der Abfragetabelle
Sortierung: zum Sortieren verwendetes Feld
Zeile: Anzahl von zurückgegebene Ergebnisse
if: Abfragebedingung
Dementsprechend habe ich ein einfaches Beispiel geschrieben, der Code lautet wie folgt:
Der Code lautet wie folgt:
{dede:loop table='dede_archives' sort='' row='4' if=''} <a href='[field:arcurl/]'>[field:title/]</a> {/dede:loop} //输出结果 你好dedecms
Jeder wird bemerken, dass href='' keine URL-Adresse enthält. Ja, dieser Tag ist für mich nutzlos
1 /common.func.php, suchen Sie Zeile 54 und fügen Sie hier einen Funktionscode wie folgt hinzu:
Der Code lautet wie folgt:
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['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']); return $ReturnURL; }
2 Die Schreibmethode unserer aufrufenden Methode im Die Vorlage hat sich ebenfalls geändert, der Code lautet wie folgt:
Der Code lautet wie folgt:
{dede:loop table='dede_archives' sort='' row='4' if=''} <li>·<a href='[field:id function=IDReturnURL(@me)/]'>[field:title function=cn_substrR(@me,44)/]</a></li> {/dede:loop}
Das Problem wurde perfekt gelöst, wenn Sie benutzerdefinierte verwenden möchten sql-Tags.
Tatsächlich verwenden Sie einfach [field:id function=IDReturnURL(@me)/] anstelle des [field:arcurl/]-Tags. Der Kern meiner Lösung für dieses Problem ist [field:id function=IDReturnURL(@me)/] und
Später habe ich darüber nachgedacht und dann nach einem Arclist-Tag gesucht. Der Code lautet wie folgt :
{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}
Auf diese Weise können wir direkt den folgenden Code verwenden:
Der Code lautet wie folgt:
{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'} •[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/> {/dede:arclist}
Das ist die Lösung.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die URL nicht für die universelle Tag-Schleife in Dedecms eingegeben werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!