Home  >  Article  >  CMS Tutorial  >  What should I do if the URL cannot be entered for the universal tag loop in Dedecms?

What should I do if the URL cannot be entered for the universal tag loop in Dedecms?

藏色散人
藏色散人Original
2019-12-09 09:25:252100browse

What should I do if the URL cannot be entered for the universal tag loop in Dedecms?

What should I do if I cannot enter the URL for the universal tag loop in Dedecms?

The example in this article describes the solution to the problem that the universal tag loop in Dedecms cannot enter the URL. Share it with everyone for your reference. The specific analysis is as follows:

The universal label loop allows you to call the data label of any table in dedecms at will, so it is called the universal label. But today when using the loop, we found that our commonly used arcurl is empty, which means url If not, it means that 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

Scope of application: global tag

Basic syntax, the code is as follows:

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

table: query table name

sort: field used for sorting

row: number of returned results

if: query conditions

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

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. Yeah, this tag is useless to me. Baidu found a solution.

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

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

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, use [field:id function=IDReturnURL(@me)/] instead of [ field:arcurl/] tag, the core of my solution to this problem is [field:id function=IDReturnURL(@me)/] and IDReturnURL.

Afterwards, I thought about it and then searched for an arclist tag. , the code is as follows:

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:

The code is as follows:

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

That will solve the problem.

The above is the detailed content of What should I do if the URL cannot be entered for the universal tag loop in Dedecms?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn