Heim >CMS-Tutorial >DEDECMS >Eine Möglichkeit, das Problem zu lösen, besteht darin, dass die universelle Tag-Schleife in Dedecms die URL nicht eingeben kann
Dieser Artikel stellt hauptsächlich die Lösung für das Problem vor, dass die universelle Tag-Schleife in Dedecms die URL nicht eingeben kann. Dies erfordert eine Änderung des Tag-Quellcodes und hat einen bestimmten Referenzwert.
Mit der universellen Beschriftungsschleife können Sie die Datenbeschriftung jeder Tabelle in dedecms nach Belieben 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 verfügbar ist.
Schauen wir uns zunächst die offizielle Beschreibung des Loop-Tags an >
Tag-Name: SchleifeFunktionsbeschreibung: Rufen Sie das Daten-Tag einer beliebigen Tabelle auf Anwendungsbereich: globales Tag Grundlegende Syntax, der Code lautet wie folgt :{dede:loop table='dede_archives' sort='' row='4' if=''} <a href='[field:arcurl/]'>[field:title/]</a> {/dede:loop}Tag-Attribut: Tabelle: Name der AbfragetabelleSortierung: zum Sortieren verwendetes FeldZeile: Anzahl der zurückgegebenen Ergebnisseif: AbfragebedingungenIch habe so etwas geschrieben. Ein einfaches Beispiel, der Code lautet wie folgt:
{dede:loop table='dede_archives' sort='' row='4' if=''} <a href='[field:arcurl/]'>[field:title/]</a> {/dede:loop} //输出结果 你好dedecmsSie werden feststellen, dass es keine gibt, wenn href='' leer ist URL-Adresse. Dieses Tag ist für mich daher nutzlos.
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. Das Schreiben unserer Aufrufmethode in der Vorlage hat sich ebenfalls geändert, 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 Gleiche gilt, wenn Sie möchten Verwenden Sie benutzerdefinierte SQL-Tags.Tatsächlich verwenden Sie einfach [field:id function= IDReturnURL(@me)/], um das [field:arcurl/]-Tag zu ersetzen. Der Kern meiner Lösung für dieses Problem war [field :id function=IDReturnURL(@me)/] und IDReturnURL.Denken Sie später darüber nach. Also habe ich einen Arclist-Tag gefunden. 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 den folgenden Code direkt verwenden:
{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'} •[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/> {/dede:arclist}, um das Problem zu lösen Ich hoffe, dieser Artikel wird helfen. Das Obige wird für die Erstellung der dedecms-Website hilfreich sein. Empfohlenes Tutorial:
Das obige ist der detaillierte Inhalt vonEine Möglichkeit, das Problem zu lösen, besteht darin, dass die universelle Tag-Schleife in Dedecms die URL nicht eingeben kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!