ホームページ >CMS チュートリアル >DEDECMS >DreamWeaver CMSはどのようにして判定出力を実現しているのでしょうか?

DreamWeaver CMSはどのようにして判定出力を実現しているのでしょうか?

藏色散人
藏色散人オリジナル
2019-12-02 09:48:502205ブラウズ

DreamWeaver CMSはどのようにして判定出力を実現しているのでしょうか?

DreamWeaver CMS はどのようにして判定出力を実現しますか?

Dreamweaver CMS でよく使われるいくつかのフィールド判定出力例の詳細説明

Dreamweaver CMS を使用して Web サイトを作成する場合、特定のフィールドについて、それがデフォルトフィールドであるか、デフォルトフィールドであるかに関係なく、カスタムフィールド 、そして必要に応じていくつかの判断ステートメントを使用することもあります。いくつかの一般的な要件を以下に示します。そしてフィールドの判定出力例。

推奨学習: DreamWeaver cms

最初のタイプ: DreamWeaver カスタム フィールド。値がない場合は、指定されたデフォルトのコンテンツが表示されます。

{dede:field name='ziduan' runphp='yes'}
 if(@me=='') { @me = '' ;}
 else { @me = "<div class=&#39;red&#39;><a href=&#39;/.@me&#39;>此处是自定义的内容</a></div>"; } 
{/dede:field}

2 番目のタイプ: DedeCMS は、省略されたタイトルが空であると判断した場合に完全なタイトルを表示します

方法 1、コンテンツ ページに適用可能

{dede:field name=&#39;array&#39; runphp=&#39;yes&#39;}
 if (@me[&#39;shorttitle&#39;]==&#39;&#39;) 
@me=@me[&#39;title&#39;]; 
  
else
 @me=@me[&#39;shorttitle&#39;];
 {/dede:field}

方法 2、リスト ページに適用可能

[field:array runphp=&#39;yes&#39;]
 if (@me[&#39;shorttitle&#39;]==&#39;&#39;) @me=@me[&#39;title&#39;]; 
else @me=@me[&#39;shorttitle&#39;]; 
[/field:array]

3 番目のタイプ: 特定のフィールドに対する複数の判定

[field:array runphp=&#39;yes&#39;]
 if(@me[&#39;risklevel&#39;]=="HR")@me="HR.png"; 
else if(@me[&#39;risklevel&#39;]=="D")@me="D.png"; 
else if(@me[&#39;risklevel&#39;]=="AA")@me="AA.png";
 [/field:array]
##上記は、クエリで取得したリスクレベルフィールドの値が HR の場合、HR.png が出力されることを意味します。クエリで取得したリスクレベルフィールドの値がDの場合はD.pngが出力され、クエリで取得したリスクレベルフィールドの値がAAの場合はAA.pngが出力されます。ここの png は、画像ファイルの場所を表す単なる文字列です。 、任意の画像パスに設定できます。上記のコードは分岐条件付き出力ステートメントです。 @me は出力変数を表します。最初にラベル フィールドに入力するときは、次のようになります。配列、@me はデータベース内のレコードを表し、そのデータ型は配列です。リスクレベルの値に基づいて判断し、@me に異なる値を設定します。ラベル フィールド:配列を終了するとき、@me の値元の位置に表示されます。

4 番目のタイプ: 判定プロセス中に他のフィールドを呼び出す必要があります。

テンプレート内で少し判断する必要があります。記事の価格が 0 の場合はダウンロード アドレスが直接出力され、それ以外の場合は購入リンクが直接出力されます。その後、runphp を実行する必要があります。この時点では ='yes' 関数です。コードを見てみましょう:

検索した結果、基本的に 2 つのメソッドが実装できることがわかりました

1. まず、値を入れますパブリック変数内の他のフィールドを呼び出してからパブリック変数を直接呼び出す必要がある変数の値については、コード

{dede:php}$GLOBALS[&#39;title&#39;]=$arc->Fields[&#39;title&#39;]{/dede:php} 
{dede:php}$GLOBALS[&#39;baidupan&#39;]=$arc->Fields[&#39;baidupan&#39;]{/dede:php} 
{dede:field.price runphp="yes"}
if(@me="0")
@me = "下载地址:".$GLOBALS[&#39;baidupan&#39;];
else
@me = "商品(".$GLOBALS[&#39;title&#39;].")购买链接为:XXX";
{/dede:field.xxxx}

2 を参照してください。name='array' を直接使用して値を割り当てます。他のフィールドを配列に追加し、それを使用します。コード

{dede:field name=&#39;array&#39; runphp=&#39;yes&#39;}
if(@me[&#39;price&#39;]==&#39;0&#39; )
@me = &#39;
<li><a class="demo" href="&#39;.@me[&#39;baidupan&#39;].&#39;" target="_blank">下载:&#39;.@me[&#39;baidupwd&#39;].&#39;</a></li>
&#39;;
else
@me = &#39;
<div id="pdBuy" class="PDB2C_moban_warp" dataP="&#39;.@me[&#39;title&#39;].&#39;" dataR="&#39;.@me[&#39;price&#39;].&#39;"><img src="/uploads/allimg/170702/155R26021-0.gif"></div>
&#39;;
{/dede:field}

を参照してください。上記の点の多くは、記号、一重引用符、二重引用符に注意する必要があります。

以上がDreamWeaver CMSはどのようにして判定出力を実現しているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。