Ergebnis 1 bis 3 von 3
  1. #1
    Dastler Dastler ist offline
    Avatar von Dastler

    Modulaufbau / Templates (PHP)

    Hallo, ich bin grade dabei mich ein wenig weiter zu bilden in Sachen PHP.
    Will jetzt ein kleines CMS bauen, hat für den Anfang, mit Grundfunktionen:
    Templatesystem
    Einfaches einfügen von Module
    Admincenter

    Soweit so gut.
    Bin grade dabei, die Funktionen für die Module zu codieren.
    Zur Übersicht möchte ich nun, dass das Template in einem anderen Ordner ist.
    modul/news/cont.php
    themes/news/cont.tpl

    In der news.php ist folgender Code :
    PHP-Code:
    <?php
        error_reporting
    ("E_ALL");
        
        
    $start 0;
        
    $step 4;
        
        
    $muster "/^[0-9]+$/";
        if(isset(
    $_GET["start"]) ){
            if (
    preg_match($muster$_GET["start"]) == 0) {
                
    $start 0;
            } else{
                
    $start $_GET["start"];
            }
        }
        
        
    $sql1 "SELECT * FROM news";
        
    $sql2 "SELECT * FROM news ORDER BY newsID DESC LIMIT $start$step";
        
        
    $result1 mysqli_query($db$sql1);
        
    $zeilen mysqli_num_rows($result1);
        
    $result2 mysqli_query($db$sql2);
        
        while(
    $row mysqli_fetch_assoc($result2)) {
            
    $text nl2br($row["text"]);
            
    $headline $row["headline"];
            
    $author $row["author"];
            
    $date $row["date"];
            
    $time $row["time"];    
            
            
    $site=basename(__FILE__);
            eval (
    "\$news = \"".subtemplate($_GET["modul"],$site)."\";");
            echo 
    $news;    
        }
    ?>
    In der news.tpl ist folgender Code :
    PHP-Code:
    Test: <a href="#">$author</a
    Meine Funktion :
    PHP-Code:
    error_reporting("E_ALL");

    function 
    subtemplate($module$action) {
        
    $action explode("."$action);
        
    $file "themes/".$module."/".$action[0].".tpl";
        
        if(
    file_exists($file)){
            return 
    file_get_contents($file);
        } else{
            return 
    file_get_contents("module/error/cont.php");
        }

    Mein Problem ist, dass eine weiße Seite angezeigt wird. Aber wenn ich das href"#" entferne, funkt es wieder.
    Wie kann ich das beheben? Komme i-wie nicht weiter

    Danke im Voraus

    MfG Dastler

  2. Anzeige

    Modulaufbau / Templates (PHP)

    Schau dir mal diesen Bereich an. Dort ist für jeden was dabei!
  3. #2
    Das_Es Das_Es ist offline
    Avatar von Das_Es

    AW: Modulaufbau / Templates (PHP)

    Die Anführungszeichen in der tpl Datei zerschießen alles in der eval Ausführung. Entweder du ersetzt sie in der Tpl oder ersetzt den erste return bei der subtemplate durch
    PHP-Code:
    return str_replace("\"""\\\""file_get_contents($file)); 
    Um die Anführungszeichen für eval zu Maskieren.

  4. #3
    Dastler Dastler ist offline
    Avatar von Dastler

    AW: Modulaufbau / Templates (PHP)

    Habe jetzt eine Klasse geschrieben, funkt 1A.
    Kann geclosed werden!

Ähnliche Themen


  1. Website Templates Business For Sale: Hallo, With over 7 years of business experience, WebsiteTemplates.bz offers pre-made and custom website design and coding solutions. The sale...

  2. 2 / Templates: habe mal aus just for fun ein mario template gemacht und eine portfolio was sagt ihr ? Mario: http://www.forumla.de/bilder/2009/09/2037.jpg ...

  3. Netzwerk: Vista-Aktivierung trotz zentralen Templates: Hi! Ich arbeite in einem größeren Netzwerk, in dem alle Rechner mit demselben Template vom zentral installierten Vista Pro ausgestattet sind....

  4. CBack Orion 2.x Templates?: Hi, wusst jetzt nicht genau wo ich das hin schreiben sollte aber ich suche jetzt schon lange anch CBack Orion 2.x Templates und finde gar nichts...

  5. Templates für phpbb 2.0.22???: HI! Wisst ihr einen guten Link für designs?? Mein Forum basiert auf phpbb 2.0.22 ich hab schon lange gegooglet aber hab nixx passendes gefunden! Naja...