Maison > Tutoriel CMS > DEDECMS > Que dois-je faire si l'URL ne peut pas être saisie pour la boucle de balises universelle dans Dedecms ?

Que dois-je faire si l'URL ne peut pas être saisie pour la boucle de balises universelle dans Dedecms ?

藏色散人
Libérer: 2019-12-09 09:25:25
original
2162 Les gens l'ont consulté

Que dois-je faire si l'URL ne peut pas être saisie pour la boucle de balises universelle dans Dedecms ?

Que dois-je faire si je ne parviens pas à saisir l'URL de la boucle de balises universelle dans Dedecms ?

L'exemple de cet article décrit la solution au problème selon lequel la boucle de balise universelle dans Dedecms ne peut pas saisir l'URL. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

La boucle d'étiquette universelle vous permet d'appeler à volonté l'étiquette de données de n'importe quelle table en dédecms, c'est pourquoi on l'appelle l'étiquette universelle. Mais aujourd'hui, en utilisant la boucle, nous avons constaté que. notre arcurl couramment utilisé est vide, ce qui signifie url. Sinon, cela signifie que la balise a disparu.

Lisez d'abord la description officielle de la balise de boucle

. Nom de la balise : boucle

Description de la fonction : Appelez la balise de données

de n'importe quelle table Champ d'application : balise globale

Syntaxe de base, le code est le suivant :

Le code est le suivant :

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

attributs de la balise :

table : Nom de la table de requête

tri : Champ utilisé pour le tri

ligne : Nombre de résultats renvoyés

si : Conditions de requête

D'après cela, j'ai écrit un exemple simple, le code est le suivant :

Le code est le suivant :


{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
Copier après la connexion

Vous remarquerez que si href='' est vide, il n'y aura pas d'adresse url Ouais, cette balise ne me sert à rien

1. Ouvrez Include/common.func.php, recherchez la ligne 54 et ajoutez ici un code de fonction comme suit :

Le code est le suivant :

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; 
}
Copier après la connexion

2. dans le modèle a également changé, le code est le suivant :

Le code est le suivant :


{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}
Copier après la connexion

Le problème a été parfaitement résolu. La même chose est vraie lorsque vous le souhaitez. utilisez des balises SQL personnalisées.

En fait, utilisez simplement [field:id function=IDReturnURL(@me)/] au lieu de la balise [field:arcurl/], le cœur de ma solution à ce problème est [field :id function=IDReturnURL(@me)/] et IDReturnURL

Plus tard, j'y ai réfléchi puis j'ai recherché une balise arclist, le code est le suivant :

Le code est. comme suit :

{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}
Copier après la connexion

De cette façon on peut utiliser directement le code suivant :

Le code est le suivant :

{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}
Copier après la connexion

C'est la solution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal