Home  >  Article  >  CMS Tutorial  >  One way to solve the problem that the universal tag loop in Dedecms cannot enter the URL

One way to solve the problem that the universal tag loop in Dedecms cannot enter the URL

angryTom
angryTomforward
2019-11-06 17:57:151860browse

This article mainly introduces the solution to the problem that the universal tag loop in Dedecms cannot enter the URL. It involves modification of the tag source code and has certain reference value. Friends in need can refer to it

One way to solve the problem that the universal tag loop in Dedecms cannot enter the URL

Universal label loop allows you to call the data label of any table in dedecms at will, so it is called universal label. But today when using the loop, we found that our commonly used arcurl is empty, which means that the url is not available. That means the tag is gone. Let me solve this problem for you.

Let’s first look at the official description of the loop tag

Tag name: loop

Function description :Call the data tag of any table

Applicable scope: global tag

Basic syntax, the code is as follows:

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

Tag attribute:

table: Query table Name

sort: Field used for sorting

row: Number of returned results

if: Query conditions

According to this, I wrote a A simple example, the code is as follows:

{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

You will notice that if href='' is empty, there will be no url address. This tag is therefore useless to me. Baidu has found a solution.

1. Open Include/common.func.php, find line 54, and add a function code here as follows:

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. The writing of our calling method in the template has also changed. , the code is as follows:

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

The problem has been perfectly solved. The same is true when you want to use custom sql tags.

In fact, just use [field:id function= IDReturnURL(@me)/] replaced the [field:arcurl/] tag. The core of my solution to this problem was [field:id function=IDReturnURL(@me)/] and IDReturnURL.

Think about it later So I went on to find an arclist tag. The code is as follows:

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

In this way, we can directly use the following code:

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

to solve the problem.

I hope this article will help The above will be helpful to everyone’s dedecms website building.

Recommended tutorial: dedecms tutorial

The above is the detailed content of One way to solve the problem that the universal tag loop in Dedecms cannot enter the URL. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:www.jb51.net. If there is any infringement, please contact admin@php.cn delete
Previous article:Introduction to dedecmsNext article:Introduction to dedecms