Heim  >  Artikel  >  CMS-Tutorial  >  Eine Möglichkeit, das Problem zu lösen, besteht darin, dass die universelle Tag-Schleife in Dedecms die URL nicht eingeben kann

Eine Möglichkeit, das Problem zu lösen, besteht darin, dass die universelle Tag-Schleife in Dedecms die URL nicht eingeben kann

angryTom
angryTomnach vorne
2019-11-06 17:57:151853Durchsuche

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.

Eine Möglichkeit, das Problem zu lösen, besteht darin, dass die universelle Tag-Schleife in Dedecms die URL nicht eingeben kann

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: Schleife

Funktionsbeschreibung: 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=&#39;[field:arcurl/]&#39;>[field:title/]</a> 
{/dede:loop}

Tag-Attribut:

Tabelle: Name der Abfragetabelle

Sortierung: zum Sortieren verwendetes Feld

Zeile: Anzahl der zurückgegebenen Ergebnisse

if: Abfragebedingungen

Ich habe so etwas geschrieben. Ein einfaches Beispiel, der Code lautet wie folgt:

{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

Sie werden feststellen, dass es keine gibt, wenn href='' leer ist URL-Adresse. Dieses Tag ist für mich daher nutzlos.


1. Öffnen Sie Include/common.func.php, suchen Sie Zeile 54 und fügen Sie hier einen Funktionscode hinzu:

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. Das Schreiben unserer Aufrufmethode in der Vorlage hat sich ebenfalls geändert, der Code lautet wie folgt:

{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}

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=&#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}

Auf diese Weise , können wir den folgenden Code direkt verwenden:

{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}

, 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:

dedecms-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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:www.jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Einführung in dedecmsNächster Artikel:Einführung in dedecms