検索
ホームページCMS チュートリアルDEDECMSDEDEテンプレートでPHPスクリプトを実行する方法

DEDEテンプレートでPHPスクリプトを実行する方法

DEDE テンプレートで PHP スクリプトを実行するにはどうすればよいですか?

Dede データベースの基礎となるフィールドを直接処理する必要があることがよくあります。dede に対応する関数がない場合は、他のメソッドを使用してそれを実現する必要があります。タイトルにあるように、実行します。 php スクリプトと php 変数については、以下に良い例があります。興味のある友人は、

推奨学習を参照してください: 梦Weavercms

dede テンプレートを使用する場合、多くの場合、 dede データベースの基礎となるフィールドを直接処理するためには、対応する関数が dede にない場合、多くの場合、それに対処する方法を見つける必要があります。

例: データテーブル addonimages のレコードの typeid フィールドを取り出し、typeid を 2 倍した結果をブラウザに出力したいとします。 (注: ここでの typeid 値は 6 です)

最初にこれを書きました:

コードは次のとおりです:

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid runphp=&#39;yes&#39;] 
echo @me*2; 
[/field:typeid] 
{/dede:loop} 
</body>

ブラウザの出力は次のとおりです: 12 6

ここに余分な 6 があります。その理由は、[field:typeid] が最初に内部 php ステートメントを実行するためだと思います。行 [/field:typeid] に到達すると、内部関数を呼び出して戻ります。直接 [ field:typeid] 基になるテンプレートの内容、12 を直接出力したい場合は、/include/extend.fuc.php ファイルにカスタム関数を追加するだけです。

コードは次のとおりです:

function abc($val){ 
return $val*2; 
}

次に、テンプレートは次のように書き換えられます:

コードは次のとおりです:

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid function="abc(@me)" /] 
{/dede:loop} 
</body>

出力結果は次のとおりです。 12

さらに、同じテンプレート内の 2 つの PHP コード部分の変数は共通ではないことに注意してください。つまり、1 つの PHP コード部分の特定の変数のスコープは短いものに限定されます。コード。

例:

コードは次のとおりです:

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid runphp=&#39;yes&#39;] 
echo $a=@me*2; 
[/field:typeid] 
{/dede:loop} 
{dede:php}var_dump($a);{/dede:php} 
</body>

出力結果は次のとおりです: 12 6 NULL

上記の php スクリプトを使用する場合後続の PHP スクリプト変数では、グローバル変数を使用してこの問題を解決するという一時的な解決策を思いつきました。

コードは次のとおりです:

<body class="index"> 
{dede:loop table=&#39;dede_addonimages&#39; if=&#39;aid=94&#39;} 
[field:typeid runphp=&#39;yes&#39;] 
$GLOBALS[&#39;a&#39;]=@me*2; 
[/field:typeid] 
{/dede:loop} 
{dede:php}echo $GLOBALS[&#39;a&#39;];{/dede:php} 
</body>

出力結果は: 6 12 ([field:typeid] にエコーがないため、6 が直接出力されます)

以上がDEDEテンプレートでPHPスクリプトを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター