Beitrag über PostButton löschen

Bitte in den Beiträgen keine externe Bilder einbinden, sondern nur die Dateianhänge verwenden.
Vielen dank.
  • Guten Abend,


    ich versuche, einen Beitrag direkt über einen neuen PostButton löschen zu können, um nicht immer auf "Bearbeiten" klicken zu müssen.
    Den Button habe ich bereit im Template threadPostList eingefügt und er wird auch angezeigt, wie ich es mir vorstelle.
    Der Code sieht so aus:


    Smarty
    {if MODULE_USER_INFRACTION && $__wcf->session->getPermission('mod.infraction.warning.canWarn')}<li class="jsDeletePost jsOnly" data-post-id="{@$post->postID}"><a href="#" title="Beitrag entfernen" class="button jsTooltip"><span style="color:#3498db;" class="icon icon16 icon-trash"></span> <span class="invisible">Beitrag entfernen</span></a></li>{/if}

    Nun soll bei einem Klick auf den Button das übliche "Beitrag löschen" - Fenster kommen (s. Anhang). Ist das überhaupt möglich und wenn ja, wie?


    Beste Grüße

  • Und zwar ist folgender Code wichtig für dich

    JavaScript
    var $template = $('<fieldset><dl></dl></fieldset>');
    				$('<dt><label for="postTrashReason">' + WCF.Language.get('wbb.post.edit.trash.reason') + '</label></dt>').appendTo($template.children('dl'));
    				$('<dd><textarea id="postTrashReason" name="reason" cols="40" rows="3" /></dd>').appendTo($template.children('dl'));
    
    				WCF.System.Confirmation.show(WCF.Language.get('wbb.post.edit.trash.confirmMessage'), $.proxy(function(action) {
    					if (action === 'confirm') {
    						this._postHandler.update($item.data('postID'), $item.data('actionName'), { reason: $('#postTrashReason').val() }, function() { new WCF.System.Notification().show(); });
    					}
    				}, this), '', $template);
  • Naja, am besten ist es wenn du dir eine eigene JavaScript Datei erstellst und eine neue Class erzeugst und diese dann aufrufst ;)



    Diesen Code fügst du in das Template thread.tpl ein in die Zeile 97.
    Unter folgenden Code
    new WBB.Post.InlineEditor({@$thread->threadID}, $postHandler, $quoteManager);

  • Das klappt wirklich schon gut und das Fenster zum Löschen wird auch korrekt eingeblendet. Allerdings leitet die Seite dann wieder auf die Startseite um und das Fenster verschwindet. Wie kann ich das noch lösen? Dann wäre auch alles perfekt. :)

  • Entfern das mal hier
    href="#" bei deinem Button unten.

    Top, jetzt bleibt das Fenster auch offen und man wird nicht umgeleitet.

    Wird der Beitrag gelöscht?

    Leider nein, aber ich habe es jetzt so hinbekommen:


    Code
    <li class="jsDeletePost jsOnly" data-post-id="{@$post->postID}">

    Nun funktioniert alles ohne Probleme.


    Wieder einmal: ein großes Dankeschön an dich, Olaf! :)

  • Eine kleine Frage schieße ich noch hinterher, aber dann soll es das auch erst einmal gewesen sein:
    Neben den Button soll ein neuer Button, der nicht nur einen Beitrag sondern direkt das ganze Thema löscht.
    Ich würde sagen, ich brauche wieder Javascript im thread.tpl ab Zeile 135.
    Den Button habe ich auch bereits erstellt. Mir stellen sich nun folgende Fragen:

    • Wie genau muss das Javascript aussehen, um das ganze Thema zu löschen? Es soll wieder dasselbe Fenster kommen, wie wenn ich normal über Thema bearbeiten das Thema moderiere.
    • Wie bekomme ich die ID des Themas heraus, in dem der Beitrag steht, um dann das Javascript ausführen zu lassen?

    Mein Vorschlag für Javascript wäre dieses hier:

  • Mittlerweile bin ich übrigens soweit:


    Funktionieren tut es aber nicht.

  • So sollte es gehen :)