Event für Settings pro Post?

  • Hallo zusammen,

    ich würde gerne bei der Threaderstellung oder Beitragserstellung für den Tab "Einstellungen" ein neues Boolean-Feld hinzufügen (Checkbox). Siehe Screenshot. Dieser Wert sollte später pro Beitrag gespeichert werden.

    Kann mir dazu jemand auf die Sprünge helfen welche Events ich verwenden sollte? Alternativ kann ich es auch woanders platzieren, hauptsache es ist pro Post verfügbar.

    Danke für eure Tipps im Vorfeld.

  • siehe https://github.com/WoltLab/WCF/bl…Settings.tpl#L5

    Das müsste sein was du suchst.

    Besten Dank für die Info. Ich habe noch eine Frage zur Vorgehensweise weil am Ende des Tages der Wert (0/1) in der Tabelle wcfN_posts landen soll.

    Reicht es in dem Fall wenn ich ein FormController erstelle mit einem BooleanField und dies dann in ein Template render, welches ich über das Template Event include? Oder wie genau würdet ihr vorgehen? Eventuell bestehende Events nehmen?

  • Guten Abend zusammen,

    ich habe über das Template messageFormSettingsInline im Event beforeSettings über das templateListener-PiP ein weiteres Input-Element (Checkbox) hinzugefügt. Die Tabelle wbb1_post habe ich auch bereits über das sql PiP geändert (somit könnte ich den Wert entsprechend speichern).

    Ich finde momentan aber keinen Ansatz, wie ich den Parameter abfangen, validieren und den jeweiligen Beitrag updaten kann - das wird scheinbar ja über JavaScript weggeschickt wenn ein Beitrag editiert wird. Hat da jemand ggf. irgendeinen einen Tipp für mich wo ich gucken müsste bzw. wo ich mich "einklinken" müsste?

    Danke,

    JAY :)

  • Ich bin kein Freund von "pushen" und finde es unhöflich, aber kann mir vielleicht irgendwer einen Tipp geben in welche Richtung ich denken muss? Ich komme irgendwie nicht drauf.. :/:S

  • Kannst du einmal konkretisieren, was genau du machen möchtest?

    Ansonsten, kannst du EventListener verwenden, wenn ich dein Problem richtig verstanden habe:

    JavaScript
    EventHandler.add("com.woltlab.wcf.redactor2", `submit_${_editorId}`, () => { console.log("submit"); });
    EventHandler.add("com.woltlab.wcf.redactor2", `validate_${_editorId}`, () => { console.log("validate"); });

    An den Selector solltest du mit {$wysiwygSelector} im Template rankommen (ungetestet).

  • Kannst du einmal konkretisieren, was genau du machen möchtest?

    Vorab danke für deine Antwort.

    Wenn ich einen Beitrag in einem Thema erstelle, kann ich im WYSIWYG-Editor über den Tab "Einstellungen" gewisse Parameter setzen (bspw. Thema abonnieren)
    Ich habe nun über das Template-Event beforeSettings im Template messageFormSettingsInline ein weiteres Setting eingefügt (Checkbox). Die wbb1_post Tabelle habe ich ebenfalls bereits über das SQL-PiP erweitert.

    Ich weiß nun aber nicht, wie ich den Wert der Checkbox beim dem editieren oder erstellen eines Beitrags abfangen kann und somit im jeweiligen Post in der Tabelle abändere. Ich finde dazu keinen entsprechenden Controller o.Ä. Diesbezüglich hatte ich um etwas "Hilfe" gebeten bzw. ggf. um einen Schubser in die richtige Richtung.

    Besten Dank :)

  • Hallo zusammen,

    ich habe nun doch ein anderes Event gewählt, allerdings bekomme ich eine Fehlermeldung die ich nicht so ganz nachvollziehen kann.

    Ich habe im Template threadPostList das Event messageFooterButtonsExtra angesprochen über einen Listener und folgendes eigenes Template:

    Code
    <li class="jsMarkPost" data-object-id=""><a href="#" title="{lang}wcf.moderation.markAsFoo{/lang}" class="button jsTooltip"><span class="icon icon16 fa-exclamation-circle"></span> <span class="invisible">{lang}wcf.moderation.markAsFoo{/lang}</span></a></li>

    Wie ihr seht, steht im Attribut data-object-id nichts drin. Wenn ich nun {$post->postID} angegebe, erscheint folgende Fehlermeldung:

    Quote from Fatal Error: Undefined index: post
    • Error Type:

      wcf\system\exception\ErrorException

    • Error Message:

      Undefined index: post

    • File:

      C:\xampp\htdocs\**\forum\lib\system\WCF.class.php (343)

    Wenn ich allerdings zu Beginn meines Templates dumpe über {$post->postID|wcfDebug}, wird mir der Inhalt ganz normal angezeigt.

    Wie kann das sein?

Participate now!

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