Heim > Artikel > CMS-Tutorial > So führen Sie ein PHP-Skript in einer DEDE-Vorlage aus
Wie führe ich ein PHP-Skript in einer DEDE-Vorlage aus?
Es ist oft notwendig, die zugrunde liegenden Felder der dede-Datenbank direkt zu verarbeiten. Wenn es in dede keine entsprechende Funktion gibt, müssen wir, wie der Titel sagt, andere Methoden verwenden Für das PHP-Skript und die PHP-Variablen finden Sie unten ein gutes Beispiel. Interessierte Freunde können sich auf
Empfohlenes Lernen beziehen: Dreamweaver cms
Bei der Verwendung von Dede-Vorlagen wird dies häufig der Fall sein Es kann erforderlich sein, die zugrunde liegenden Felder der dede-Datenbank direkt zu verarbeiten. Wenn es in dede keine entsprechende Funktion gibt, müssen wir häufig einen Weg finden, damit umzugehen.
Beispiel: Ich möchte das Typ-ID-Feld eines bestimmten Datensatzes in der Datentabelle addonimages herausnehmen und dann das Ergebnis von Typ-ID multipliziert mit 2 im Browser ausgeben. (Hinweis: Der Typ-ID-Wert ist hier 6)
Zuerst habe ich Folgendes geschrieben:
Der Code lautet wie folgt:
<body class="index"> {dede:loop table='dede_addonimages' if='aid=94'} [field:typeid runphp='yes'] echo @me*2; [/field:typeid] {/dede:loop} </body>
Die Browserausgabe lautet: 12 6
Hier gibt es eine zusätzliche 6. Ich denke, der Grund dafür ist, dass [field:typeid] zuerst die interne PHP-Anweisung ausführt, wenn die Zeile [/field:typeid] erreicht wird direkt [ field:typeid] Der Inhalt der zugrunde liegenden Vorlage. Wenn Sie 12 direkt ausgeben möchten, können Sie nur eine benutzerdefinierte Funktion in der Datei /include/extend.fuc.php hinzufügen.
Der Code lautet wie folgt:
function abc($val){ return $val*2; }
Dann wird die Vorlage wie folgt umgeschrieben:
Der Code lautet wie folgt:
<body class="index"> {dede:loop table='dede_addonimages' if='aid=94'} [field:typeid function="abc(@me)" /] {/dede:loop} </body>
Das Ausgabeergebnis lautet: 12
Beachten Sie außerdem, dass die Variablen in zwei PHP-Codeteilen in derselben Vorlage nicht gemeinsam sind, d Code.
Beispiel:
Der Code lautet wie folgt:
<body class="index"> {dede:loop table='dede_addonimages' if='aid=94'} [field:typeid runphp='yes'] echo $a=@me*2; [/field:typeid] {/dede:loop} {dede:php}var_dump($a);{/dede:php} </body>
Das Ausgabeergebnis ist: 12 6 NULL
Wenn Sie das obige PHP-Skript verwenden möchten In den folgenden PHP-Skriptvariablen habe ich eine vorübergehende Lösung gefunden, die darin besteht, globale Variablen zu verwenden, um dieses Problem zu lösen.
Der Code lautet wie folgt:
<body class="index"> {dede:loop table='dede_addonimages' if='aid=94'} [field:typeid runphp='yes'] $GLOBALS['a']=@me*2; [/field:typeid] {/dede:loop} {dede:php}echo $GLOBALS['a'];{/dede:php} </body>
Das Ausgabeergebnis ist: 6 12 (da es kein Echo in [field:typeid] gibt, wird 6 also direkt ausgegeben)
Das obige ist der detaillierte Inhalt vonSo führen Sie ein PHP-Skript in einer DEDE-Vorlage aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!