ホームページ  >  記事  >  CMS チュートリアル  >  DedecmsのユニバーサルタグループがURLに入れない問題を解決する1つの方法

DedecmsのユニバーサルタグループがURLに入れない問題を解決する1つの方法

angryTom
angryTom転載
2019-11-06 17:57:151817ブラウズ

この記事は、DedecmsのユニバーサルタグループがURLに入れない問題の解決策を主に紹介します。タグのソースコードの修正を伴うものであり、一定の参考値があります。必要な友人は参照してください

DedecmsのユニバーサルタグループがURLに入れない問題を解決する1つの方法

ユニバーサル ラベル ループを使用すると、dedecms 内の任意のテーブルのデータ ラベルを自由に呼び出すことができるため、ユニバーサル ラベルと呼ばれます。しかし、今日このループを使用すると、一般的に使用される arcurl が以下であることがわかりました。空の場合は、URL が利用できないことを意味します。つまり、タグがなくなっています。この問題を解決しましょう。

最初にループ タグの公式の説明を見てみましょう

タグ名前:loop

関数の説明:任意のテーブルのデータタグを呼び出します

適用範囲:グローバルタグ

基本的な構文、コードは次のとおりです:

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

問題は完全に解決されました。カスタム SQL を使用する場合も同様です。 tags.

実際には、[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に入れない問題を解決する1つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はwww.jb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
前の記事:dedecms の概要次の記事:dedecms の概要