Maison > Tutoriel CMS > DEDECMS > Une façon de résoudre le problème selon lequel la boucle de balise universelle dans Dedecms ne peut pas saisir l'URL

Une façon de résoudre le problème selon lequel la boucle de balise universelle dans Dedecms ne peut pas saisir l'URL

angryTom
Libérer: 2019-11-06 17:57:15
avant
1898 Les gens l'ont consulté

Cet article présente principalement la solution au problème selon lequel la boucle de balise universelle dans Dedecms ne peut pas entrer dans l'URL. Cela implique une modification du code source de la balise et a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

Une façon de résoudre le problème selon lequel la boucle de balise universelle dans Dedecms ne peut pas saisir l'URL

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 utilisation courante. arcurl est vide, ce qui signifie que l'url n'est pas disponible. Cela signifie que la balise n'est plus disponible. Laissez-moi résoudre ce problème pour vous

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

Nom de la balise : boucle

Description de la fonction :Appeler la balise de données de n'importe quelle table

Champ d'application : balise globale

Syntaxe de base, 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

Attribut de tag :

table : nom de la table de requête

tri : champ utilisé pour le tri

ligne : nombre de résultats renvoyés

if : conditions de requête

J'en ai écrit une comme celle-ci Un exemple simple, 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 Adresse url. Cette balise ne me sert donc à rien. Baidu a trouvé une solution.


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

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. L'écriture de notre méthode d'appel dans le template a également changé, 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)/] pour remplacer la balise [field:arcurl/] Le cœur de ma solution à ce problème était [field. :id function=IDReturnURL(@me)/] et IDReturnURL.

Réfléchissez-y plus tard J'ai donc cherché une balise arclist Le code est le suivant :

{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. , nous pouvons utiliser directement le code 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

pour résoudre le problème

J'espère que cet article aidera Ce qui précède sera utile à la création de sites Web dedecms de chacun.

Tutoriel recommandé :

Tutoriel dedecms

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:www.jb51.net
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