>  기사  >  CMS 튜토리얼  >  Dedecms의 범용 태그 루프가 URL을 입력할 수 없는 문제를 해결하는 한 가지 방법

Dedecms의 범용 태그 루프가 URL을 입력할 수 없는 문제를 해결하는 한 가지 방법

angryTom
angryTom앞으로
2019-11-06 17:57:151860검색

이 글에서는 Dedecms의 범용 태그 루프가 URL을 입력할 수 없는 문제에 대한 해결 방법을 주로 소개합니다. 태그 소스 코드를 수정해야 하며 필요한 참조 값이 있습니다

# 🎜🎜#

Dedecms의 범용 태그 루프가 URL을 입력할 수 없는 문제를 해결하는 한 가지 방법

범용 레이블 루프를 사용하면 Dedecms에서 모든 테이블의 데이터 레이블을 마음대로 호출할 수 있으므로 이를 범용 레이블이라고 합니다. 우리는 일반적으로 사용되는 arcurl이 비어 있음을 발견했습니다. 이는 URL이 존재하지 않는다는 의미입니다.

먼저 공식을 살펴보겠습니다. 루프 태그 설명

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

태그 속성:

table: 쿼리 테이블 이름

sort: 사용되는 필드 sorting

row: 결과 바 반환 번호

if: 쿼리 조건

이에 따라 간단한 예제를 작성했는데 코드는 다음과 같습니다. :

{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

모두가 알 수 있습니다. href= ''비어 있으면 URL 주소가 없습니다. 이 태그는 나에게 쓸모가 없습니다.

# 🎜🎜#1.Include/common.func.php를 열고 54번째 줄을 찾아 여기에 다음과 같이 함수 코드를 추가합니다.

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. 템플릿에서 호출 메서드의 작성 방법도 변경되었습니다. , 코드는 다음과 같습니다:

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

문제가 해결되었습니다. 완벽한 솔루션입니다. 사용자 정의 SQL 태그를 사용하려는 경우에도 마찬가지입니다.

사실 그냥 사용하세요 [field:arcurl/] 태그 대신 [field:id function=IDReturnURL(@me)/], 이 문제에 대한 내 솔루션의 핵심은 [field:id function=IDReturnURL(@me)/] 및 IDReturnURL.#🎜입니다. 🎜#
나중에 생각하다가 arclist 태그를 검색해 보니 코드는 다음과 같습니다.

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

그래서 다음 코드를 바로 사용할 수 있습니다.

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

해결하려면

이 기사가 모든 사람에게 도움이 되기를 바랍니다. Dedecms 웹사이트 빌더가 도움이 됩니다.

추천 튜토리얼:

dedecms 튜토리얼

위 내용은 Dedecms의 범용 태그 루프가 URL을 입력할 수 없는 문제를 해결하는 한 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 www.jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:Dedecms 소개다음 기사:Dedecms 소개