Dedecms のユニバーサル タグ ループに URL を入力できない場合はどうすればよいですか?

藏色散人
リリース: 2019-12-09 09:25:25
オリジナル
2114 人が閲覧しました

Dedecms のユニバーサル タグ ループに URL を入力できない場合はどうすればよいですか?

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: 並べ替えに使用されるフィールド

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 アドレスがないことがわかります。はい、このタグは私には役に立ちません。Baidu が解決策を見つけました。

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}
ログイン後にコピー

問題は完全に解決されました。

実際には、[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 のユニバーサル タグ ループに URL を入力できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!