Was sind Templates?

  • Also, ich habe Smarty mal durchgeschaut und ich kapier das nicht, wie das im Zusammenhang eines erstellten Templates ist. Ich habe im acp eine neue Seite hinzugefügt und es als Template ausgewählt. Ich habe ein paar Befehle im Editor ausprobiert, also mit variablen herrum gespielt, aber immer kam ein Fehler.

    Dann habe ich die Dokumentation von https://www.woltlab.com/downloads/manual/wcfdoc_de.pdf angeschaut und bin auf etwas gestoßen was ich ausprobieren könnte:

    <?php

    $user = WCF::getUser()->username;

    echo $user;

    ?>

    Nicht mal das funktioniert. Immer ab "->" wird alles als Text ausgegeben.


    Wie könnte ein simples Template aussehen?

  • Warum schaust Du Dir nicht einfach den Aufbau vorhandener Templates und die darin verwendete Syntax an?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Das einzige Beispiel was funktioniert hat, war Tab Menüs.

    Danke für eure Hinweise, die werde ich noch genauer untersuchen.


    Ich hab mich nun so darauf festgebissen, diesen einen Script erfolgreich laufen zu lassen.

    Ich möchte mein User Name anzeigen lassen.

    Wie könnte es aussehen?

  • ok, das ist sehr interessant, danke.

    Das was ich oft versucht hatte ist { WCF :: getUser () - > userID } und ist von der Doku. Es funktionierte leider nicht.
    Aber so funktioniert es {$__wcf->getUser()->userID}

    Dann habe ich wenigstens ein Anhaltspunkt für meine kleine Sache.

    Ist es auch in php möglich?

    zB

    Code
    $test = {$__wcf->getUser()->userID}; Was leider nicht funktioniert, aber dioent als Beispiel.
    echo $test;
    • Official Post
    PHP
    $test = WCF::getUser()->userID;
    echo $test;

    Gegenstück im Template:

    Code
    {$__wcf->user->username}
    
    {* Um beim Beispiel mit der Variable zu bleiben: *}
    {assign var=test value=$__wcf->user->username}
    {$test}
  • Dann lag ich mit der php evtl doch ganz zum Anfang richtig, aber das was bei mir nur kommt ist dieses hier:

    Code
    userID; echo $test; ?>

    Ab "->" wurde einfach alles als Text ausgegeben.

    Wie gesagt, ich versuche php in einer Template Seite zu nutzen. Evtl ist genau da mein Fehler, dass es gar nicht geht.

  • Wie gesagt, ich versuche php in einer Template Seite zu nutzen. Evtl ist genau da mein Fehler, dass es gar nicht geht.

    Ne, das geht nicht. Wobei es dafür glaub ich ein Plugin gibt. Einfach mal im Plugin-Store die Suchfunktion nutzen und nach "PHP" suchen.

  • Ne, das geht nicht. Wobei es dafür glaub ich ein Plugin gibt. Einfach mal im Plugin-Store die Suchfunktion nutzen und nach "PHP" suchen.

    Ja gibt es, für Boxen und für Seiten.


  • cool danke, habs gleich ausprobiert. leider gibt es da ein Fehler:

    Fatal error: Class 'WCF' not found in ...

    PHP
    <?php
    $test = WCF::getUser()->userID;
    echo $test; 
    ?>
  • Vermutlich musst du die WCF Klasse erst einbinden, um sie nutzen zu können. Aber am besten fragst du da direkt beim Entwickler des Plugins nach. Der wird das am besten wissen.

  • Danke euch allen. Nu habe ich ein super Anfang. Weitere Fragen werden sicherlich noch kommen, aber evtl komme ich auch selber darauf.

  • Ich habe nun verstanden wie die Klassen funktionieren und habe einiges davon angewendet, aber eins davon treibt mich fast in den Wahnsinn. $Columns bekommt immer eine Meldung "Array to string conversion". Egal wie oft ich weitere foreache dafür verwende, es kommt immer die selbe Meldung. Habe ich da irgendwie ein Denkfehler? Meine Tabelle enthält jetzt kein Index. ist das evtl mein Fehler? Ich könnte $Columns[0] und [1] machen, dann kommt aber der selbe Fehler. Ich habe nur 2 Tabellen, und zwar mit den namen "Name" und "Bild".

    PHP
    <?php
    $DB = \wcf\system\WCF::getDB();
    echo $DB->getDatabaseName();
    $DBeditor = $DB->getEditor();
    $Columns = $DBeditor->getColumns("eki_challenge");
    foreach($Columns as $Column) {
    echo $Column;
    }
    ?>
  • Kann mir bitte jemand erklären, was diese PHP-Zeilen mit Templates zu tun haben? Irgendwie hat das Thema eine Wendung genommen, die mit der ursprünglichen Frage nichts mehr zu tun hat, oder?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • ich will mich mit der Klasse vertraut machen. Ich möchte auch Daten in die Datenbank schreiben und lesen. Hier wollte ich erstmal schauen, was columns mir so ausgibt. Ich möchte von meiner Tabelle eki_challenge alle Einträge auslesen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!