Schon länger geplant - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Schon länger geplant (/thread-22046.html) Seiten: Seiten:
1
2
|
Schon länger geplant - Plexxart - 06.02.2010 Servus Forum Schon länger geplant war in meinem Forum beim Erstellen eines neuen Themas oder einer neuen Antwort eine zusätzliche Funktion die bewirkt, dass beim Uploaden eines Attachments ein kleines Gif aufgeht, welches dem User mitteilt, dass dieses auf dem Server geladen wird. Dieses habe ich selbst gebastelt, wenn wer will kann dies selbstverständlich für sein Forum verwenden. [Bild: http://www.plexxart.at/Forum/mybb_129_de/Upload/images/Bild_laden.gif] Ich hätte also gerne, dass beim Betätigen des Buttons "Attachment hinzufügen" dieses Bild im Browser geladen wird. Ich weiss schon, dass dazu das Template "post_attachments_new" zu bearbeiten ist aber leider habe ich nicht die Kenntnis davon, wie dieses per Skript umzusetzen sei. Ich weiss auch nicht, ob dies viel Arbeit ist oder nur ein paar Sätze. Also wenn sich einer meiner erbarmen könnte, wärs fein Danke schon mal für eure Antworten ! Grüsse Walter RE: Schon länger geplant - querschlaeger - 06.02.2010 Dann müsste das Bild per JavaScript angezeigt werden, da die Seite solange nicht neugeladen werden kann (und damit auch nicht die Grafik angezeigt werden kann), bis alle POST/FILE/GET-Elemente an den Server geschickt wurden. Könnte man evtl. sehr einfach mit einem onclick-Event auf den Button "Attachment hinzufügen" lösen. RE: Schon länger geplant - Plexxart - 06.02.2010 Hallo Danke dir Querschläger für die rasche Antwort ! Nun so wirklich schwer ists ja für die Profis nicht, zumal ich das hier schon mal beim Downloaden von Plugins gesehen habe. Hier in diesem Forum sah das damals so aus: [Bild: http://www.plexxart.at/Forum/mybb_129_de/Upload/images/spinner_big.gif] Viel problematischer ist in meinem Forum beim Upload von grösseren Dateien. Dann dauert es halt und die User wissen nicht ob jetzt etwas passiert oder nicht. Da ists schon passiert, dass die nochmals den Button betätigt haben und die Datei dann 2 Mal am Server gestanden ist. Zitat:Könnte man evtl. sehr einfach mit einem onclick-Event auf den Button "Attachment hinzufügen" lösen. Nun ich kann das Skript sicher nicht schreiben, aber vielleicht hat das einer schon mal gemacht und das Skript fertig in der Lade liegen und würde es netterweise hier veröffentlichen. Gruss Walter RE: Schon länger geplant - StefanT - 06.02.2010 Vielleicht hilft dir das: http://www.learntechnology.net/content/ajax/ajax_upload.jsp RE: Schon länger geplant - querschlaeger - 06.02.2010 Wenn du auf die Grafik vezichten kannst, dann hänge einfach das an das Feld dran: Code: onclick="this.value='Bitte warten...';this.disabled=true" Dann ändert sich der Button "Attachment hinzufügen" beim Draufklicken in "Bitte warten..." und wird ausgegraut (nicht mehr anklickbar). Ist zumindest die einfachste Variante (und funktioniert auch nur, wenn der User JavaScript nicht deaktiviert hat!). P.S.: Das funktioniert übrigens bei jeden Button (z.B. bei "Antwort schreiben" oder "Vorschau ansehen"). RE: Schon länger geplant - Plexxart - 06.02.2010 Servus Ich danke euch für eure Hilfestellung ! querschlaeger schrieb:Wenn du auf die Grafik vezichten kannst, dann hänge einfach das an das Feld dran: Dieser Code funktioniert zwar von der Optik, sprich der Button verändert sich, aber es wird keine Datei hinaufgeladen. Nun ich habe es jetzt mit folgenden Codeschnipsel versucht: Code: <a href="javascript:void(0);"onClick = "window.open('{$theme['imgdir']}/Bild_laden.gif','foo','width=400,height=200');"target="_self"></a> Auch hätte ich gerne, dass nur das Bild ohne Browserfenster angezeigt wird. Hat da einer von euch noch ein paar Tipps wie ich das lösen kann. Gruss Walter RE: Schon länger geplant - querschlaeger - 06.02.2010 Okay, den Button zu deaktivieren legt auch die Übertragung der FILES-Parameter lahm. Wieder was gelernt. Hier ist nun das, was du möchtest: Öffne das Template post_attachments_new und suche nach (evtl. vorher das Template nach dem ganzen Experimentieren wieder zurücksetzen ): PHP-Code: <input type="submit" class="button" name="newattachment" value="{$lang->add_attachment}" tabindex="12" /> Ersetzte es hiermit: PHP-Code: <span style="display: none;" id="newattachment"><img src="{$theme['imgdir']}/spinner.gif" alt="" /> Bitte warten...</span><input type="submit" class="button" name="newattachment" value="{$lang->add_attachment}" tabindex="12" onclick="document.getElementById('newattachment').style.display='inline'; this.style.display='none';" /> Nach dem Klick auf den Button, wird dieser unsichtbar (kann also keiner nochmal draufklicken) und direkt ersetzt mit der "Kreiselgrafik" von MyBB und den Worten "Bitte Warten..." Der Upload funktioniert auch wunderbar (diesmal von mir überprüft). P.S.: Du bist doch der, welcher noch MyBB 1.2 verwendet, oder? Evtl. heißt dort das Template anders und vielleicht ist auch der Button ist etwas anders mit HTML realisiert. Ich hoffe du kannst es trotzdem adaptieren. RE: Schon länger geplant - Plexxart - 06.02.2010 Danke dir vielmals Querschläger ! [Bild: http://www.plexxart.at/Forum/mybb_129_de/Upload/images/smilies/dankeschoen.gif] Das funktioniert jetzt pipifein, habe nur vor dem Spinner ein <br/> eingefügt weils in deiner Version nach dem Button "Attachment aktualisieren" lief. Hab dir auch noch eine positive Bewertung verpasst Vielen Dank nochmals ! Liebe Grüe Walter RE: Schon länger geplant - querschlaeger - 06.02.2010 (06.02.2010, 19:24)Plexxart schrieb: Das funktioniert jetzt pipifein, habe nur vor dem Spinner ein <br/> eingefügt weils in deiner Version nach dem Button "Attachment aktualisieren" lief. Die semantisch bessere Variante wäre einfach das öffnende und schließende span durch div zu ersetzen und anstelle Code: document.getElementById('newattachment').style.display='inline' dies zu schreiben Code: document.getElementById('newattachment').style.display='block' Freut mich, dass es klappt. RE: Schon länger geplant - querschlaeger - 08.02.2010 Ein kleiner Hinweis: Der Internet Explorer zeigt leider keine animierten Grafiken an, d.h. der Kreisel wird sich nicht drehen. Das liegt daran, dass er alle Animationen stoppt, sobald ein Forumlar abgesendet wird. Es gibt diverse Workarounds welche man im Netz finden kann, aber alle sehr unschön sind (mit iframe, innerHTML, ...) und irgendwie nicht immer funktionieren. Was ich auch versucht habe, dieses Problem zu umgehen, esl lief immer auf eine relativ komplexe JavaScript-Funktion hinaus. Da ich wahrhaftig kein Experte bin was JS angeht (d.h. diese netten kleinen Browser-Workaround-Tricks nicht kenne, welche man durch Erfahrung lernt), kann ich leider keine Lösung dafür bieten. |