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 und 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;
  • 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.

    SoftCreatR
    30. Dezember 2023 um 19:12
    SoftCreatR
    30. Dezember 2023 um 19:10
  • 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.

  • 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 und 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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!