Pinned Wünscht euch was

    • Hier mal ne kurze und schnelle Beantwortung deiner Fragen, vielleicht hilft dir das ja schon bzw. damit du weißt auf welche Lexikon-Einträge du warten musst ;)


      CCFF wrote:

      1. User-Berechtigungssystem für Templates verstehen.
      Benutzergruppenrechte kannst du so abfragen:

      Smarty-Template

      1. {if $__wcf->getSession()->getPermission('your.user.group.option')}INHALT{/if}
      Und User Options so:

      Smarty-Template

      1. {$__wcf->getUser()->getUserOption('yourUserOption')}
      Vielmehr gibts da eigentlich nicht, da wäre es wohl nicht verkehrt zu erläutern wo es denn genau hapert.

      CCFF wrote:

      einen bestimmten Bereich eines bestehenden Templates modifizieren möchte
      Grundsätzlich gibt es Templatelistener damit kannst du Code nach Stellen einfügen wo etwas wie das steht {event name='eventName'} Wenn an der entsprechenden Stelle allerdings keine Templateevents sind, hat man nur noch die Möglichkeit über JavaScript zu gehen.



      CCFF wrote:

      3. Werte im ACP hinterlegen. Ich möchte z.B. die Pfade für das o.g. Hintergrundbild im ACP hinterlegen. Muss ich dafür dann eine eigene DB-Tabelle anlegen oder bietet mir das WCF auch andere Möglichkeiten Inhalte so abzuspeichern, dass ich darauf zugreifen kann?
      Für ein einziges Bild, würde es sich anbieten den Pfad des Bildes in eine Option zu speichern. Dabei musst du das Bild nur manuell per FTP oder dergleichen hochladen und kannst dann den Pfad in der Option eintragen.

      Eine eigene Datenbank-Tabelle wäre in diesem Fall viel zu viel ;)

      Stichwort: Options


      CCFF wrote:

      4. Eigene php Funktionen. Wie bindet man die ein und ab wann muss man etwas in eine eigene Funktion auslagern. Denn über if / else / elseif könnte man ja auch einiges direkt im Template lösen. Nur ab dem Moment wo man php Variablen, Methoden und Funktionen etc. braucht, scheint es so zu sein, dass man diese extern über eine php Datei inkludieren muss.

      Grundsätzlich gilt Business-Logik gehört in PHP-Klassen und in Templates nur den entsprechenden Code zur Darstellung. Am besten schaust du dir an wie andere Templates aufgebaut sind, dann wirst du recht schnell erkennen ab wann es Sinn macht über eine PHP-Datei zu gehen.
      Stichwort: EventListener und TemplateListener.
    • Hallo @Fabii,

      erst mal vielen Dank!

      Benutzergruppenrechte:
      in der Theorie soweit klar.

      Event listener:
      Gibt es an der Stelle (Zeile 3): github.com/WoltLab/WCF/blob/ma….wcf/templates/header.tpl
      Aber wie spricht man die an und wie funktionieren die? Ich habe dazu nur was für WCF1.1 gefunden.

      Option:
      Ja, das klingt nach einer vernünftigen Lösung. Eine Option kann ich aber nur einbauen indem ich ein komplettes Plugin erstelle. Richtig?

      Danke & Grüße, CCFF
    • CCFF wrote:

      Event listener:
      Gibt es an der Stelle (Zeile 3): github.com/WoltLab/WCF/blob/ma….wcf/templates/header.tpl
      Aber wie spricht man die an und wie funktionieren die? Ich habe dazu nur was für WCF1.1 gefunden.
      EventListener != TemplateListener. Um auf diese TemplateEvents zu reagieren benötigst du die sogenannten TemplateListener.

      Um die zu benutzen musst du nur folgendes tun:

      Deinen TemplateListener im System Registrieren -> github.com/WoltLab/com.woltlab…emplateListener.xml#L4-L9 wie hier zum Beispiel damit bindest du deinen Template-Code der im Template __userPanelConversationDropdown steht an folgender Stelle github.com/WoltLab/WCF/blob/ma…plates/userPanel.tpl#L259 ein.

      Kurz noch zum <environment> das gibt an ob sich das Template im Frontend oder im ACP befindet.




      CCFF wrote:

      Option:
      Ja, das klingt nach einer vernünftigen Lösung. Eine Option kann ich aber nur einbauen indem ich ein komplettes Plugin erstelle. Richtig?
      Korrekt. Dazu braucht es eine option.xml Datei die im groben so aussieht github.com/WoltLab/com.woltlab…on/blob/master/option.xml


      Wenn Ich mal mehr Zeit habe kann ich dazu auch noch nen Doku-Eintrag schreiben :)
    • Hey,

      mir wäre es wichtig, wenn schon Woltlab nicht hinbekommt, hier eine komplette Doku des WCFs zu veröffentlichen.

      Gleich ob es sich um ein Eventlistener oder um ein Templatescript handelt, aber irgendwo muss es nun langsam mal
      eine feste, fertige und vorallem vollständige Dokumentation vom gesamten WCF 2.x geben.

      Es ist schade, dass dies extern geschehen muss, da es wenigstens bei 3er/1er eine ordentliche Dokumentation gab,
      aber vielleicht wird sich das hier ja ändern :).

      Grüße
    • Konnte heute den vorletzten Wunsch hier erfüllen. TemplateListener. @SevenRichieWhite hat es zeitlich nicht geschafft, weswegen ich mich nun endlich dazu durchgerungen habe, diesen Doku Eintrag niederzuschreiben ;)
      Und da ich nun auch irgendwie die Lust verspürte zu beschreiben wie man einen Cache anlegt, ist auch dieser Doku Eintrag entstanden =)

      Falls also wer noch weitere Wünsche hat, sind diese gern gesehen. Aktuell steht ja nur noch ein Wunsch aus... Also? Wer hat Wünsche? ;)
    • Als Wunsch hätte ich gerne folgendes:

      Die jsDelete-Funktion ausführlich erklärt...

      Und die Funktion, wenn man einen Benutzernamen eingibt, dass dann nach 3 Buchstaben eine Auswahl kommt mit den jeweiligen möglichen Treffern... (searchUsername)

      Das wäre doch bestimmt hilfreich für alle...

      Des Weiteren vielleicht eine kleine Information, welche Funktionen in die data-Klassen kommen, also was in eine Action gehört (create, delete, deleteAll,etc...), was in eine Editor-Klasse gehört ('update'), wie genau welche Klasse von wo vererbt... Warum man es dann über solche Klassen macht und nicht direkt in einer Page-Klasse bzw. Form-Klasse....

      Das wäre dann schon mal was tolles...

      Vielleicht auch wie man eine Einfache Sortable-Page integriert oder auch eine MultiLinkPage...

      Dann wäre eine kurze Info bezüglich der ISearch-Klasse toll... wie man diese einbindet... oder wie man generell Filter setzt und entsprechende Felder oder Einträge aus einer riesen Liste suchen kann oder zumindest Filtern kann... Das wäre für mich sogar noch viel wichtiger... ;)

      Also die Filterfunktion im ACP und im FrontEnd mal erläutern... Im ACP wird diese ja über eine Form überhalb der Tabelle gemacht, so wie ich das schon gesehen habe... Und wie man diese Filter und Sortier-Optionen im FrontEnd (ich glaube die sitzen dann in der Sidebar) einfach nutzen kann...