2012-04-07 7 views
2

Ich möchte WordPress in einer Smarty-Vorlage laden. Ich benutzte den folgenden Code, um Wordpress in eine PHP-Datei zu laden, und es funktionierte. Aber es funktioniert keine Smarty-Vorlage.Wie PHP-Code in Smarty-Vorlage-Datei ausführen?

In PHP-Datei:

<?php 
include $_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php'; 
get_header(); 
?> 

In Smarty Template-Datei:

{php} 
include $_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php'; 
get_header(); 
{/php} 
+0

Was ist der Fehler? – mpm

+0

zeigt es nichts nur eine leere Seite. keine Fehler. – alhoseany

+0

Kannst du nicht '$ smarty-> in der PHP-Datei ('wp_header', get_header())' 'zuweisen und' {$ wp_header} 'in der Vorlage verwenden? – noisebleed

Antwort

0

Sie Smarty3 verwenden? Schau mal here.

{php} Das Tag ist veraltet und ab Version 3.1 ist es nur unter Verwendung der SmartyBC Klasse statt der Smarty Klasse verfügbar. Sie sind genauso, aber wenn Sie ein Objekt new SmartyBC() instanziieren, haben Sie ein abwärtskompatibles Smarty-Objekt, das {php} Tags unterstützt.

+0

ich PHP-Tags testen und es funktioniert mit diesem Code {php} Echo 'PHP funktioniert'; {/ php} – alhoseany

+0

@alhoseany Vielleicht ist das Problem, das es mit der enthaltenen Datei ist. Versuchen Sie, das 'echo 'php funktioniert'; in eine * somefile.php *, und versuchen Sie' {php} include 'somefile.php'; {/ php} ' –

0
<?php 
      if(isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0) 
      { 
       echo '<ul class="err">'; 
       foreach($_SESSION['ERRMSG_ARR'] as $msg) 
       { 
        echo '<li>',$msg,'</li>'; 
        } 
       echo '</ul>'; 
       unset($_SESSION['ERRMSG_ARR']); 
       } 
      ?> 
+0

Fügen Sie einige Erklärung mit der Antwort für wie diese Antwort helfen OP bei der Lösung des aktuellen Problems –