Ph!L$
Titel: Spoiler BB-Code
Version: 1.0
Beschreibung: Es wurde bereits des Öfteren nach einem Spoiler-BB-Code gefragt und daher habe ich mal einen gecodet.
Ein Spoiler-BB-Code wurde bereits gepostet, doch diesen fand ich persönlich nicht sonderlich gelungen.
Daher hier meine Variante... :rolleyes:
In den unteren Grafiken sieht man den Spoiler BB-Code in Aktion.
Anzumerken ist, dass folgendes als BB-Code eingegeben wurde, damit es so aussieht, wie im Anhang:
[spoiler=TiTEL]VERSTECKTER TEXT[/spoiler]
Copyright: Liegt bei
N3Z |
Milhouse und diese Erweiterung darf auch nicht ohne meine Genehmigung verteilt werden.
Zur Verteilung sind ausschließlich
N3Z.DE,
mywbb.info und
y******.info berechtigt !
Einbau: Ca. 15-60 Sekunden !
----
weiter zum Download
sw007
der Hack ist klasse, nur eines würde mich interessieren: wie krieg ich es hin, dass ich die Titel eingabe umgehe und stattdessen zwischen 2 einfachen tags schreiben kann, also [spoiler]text[/spoiler] statt [spoiler=Titel]text[/spoiler] und statt Titel z.B. nur Spoiler : dort stehen habe.
das brauche ich wegen dem Einfügen eines klickbaren tags
Ph!L$
Dafür schreibst einfach den BB-Code um, sodass du folgendes hast
Bei
wird ersetzt durch:
Zitat: |
<div style="margin:20px; margin-top:5px"> <div class="smallfont" style="margin-bottom:2px"><b>Spoiler</b> <input type="button" value="Show" style="width:45px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTag
Name('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagN
ame('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagN
ame('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show'; }"> </div> <div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;"> <div style="display: none;"> {param1} </div> </div> </div> |
Bei
Anzahl Parameter:
Dann wird als Überschrift
Spoiler genommen und der Text zwischen
[spoiler] und [/spoiler] als versteckter Text.
sw007
er Zeigt jetzt Spoiler als titel und den Show Button an, aber wenn ich ihn klicke, dann passiert nichts
Ph!L$
Lag wohl an der schlechter Formatierung des Textes, den ich gepostet habe...
Der Code im Anhang sollte kompatibel sein.
Ph!L$
Shize...muss param1 sein
Dann gehts aber ^^
Bin bissl verplant heut morgen
Edit: Musst also bei
wird ersetzt durch param 2 suchen und das durch param 1 ersetzen
Match
Wenn man schon meinen Hack kritisiert, in dem Thread davon Werbung macht und ihm dann noch den exakt selben Namen gibt, dann sollte man vielleicht auch mal prüfen, ob das Zeug xHTML valid ist. (Wenn ich auch sagen sagen muss, dass das "Klapp-Feature" cool ist; der Code sieht irgendwie schlecht aus)
Aber netter Hack.
sw007
Der Hack ist wirklich klasse.

Jetzt, wo er das macht was es soll. Uns das Klappen funktioniert sowohl mit IE als auch mit FF, für mich reicht das
Ph!L$
Zitat: |
Original von Match
Wenn man schon meinen Hack kritisiert, in dem Thread davon Werbung macht und ihm dann noch den exakt selben Namen gibt, dann sollte man vielleicht auch mal prüfen, ob das Zeug xHTML valid ist. (Wenn ich auch sagen sagen muss, dass das "Klapp-Feature" cool ist; der Code sieht irgendwie schlecht aus)
Aber netter Hack. |
Hmm, weiß nicht, wie du den Hack sonst nennen möchtest.
Und ich habe nichts kritisiert. Habe lediglich gesagt, dass er mir nicht so gefällt.
Ob er xHTML valid ist oder nicht, interessiert mich ehrlich gesagt sonderlich wenig aber wenn es jemanden stören sollte, dann kann er den ja gern so ändern, wie er ihn möchte.
Darfst mir gern zeigen, was an dem Code schlecht ist. Man lernt nie aus
Volken
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
|
<img src="{$style['imagefolder']}/spoiler.gif" alt="spoiler" border="0"/>
<div class="tabletitle">
<input type="button"
value="Show"
style="width:45px; font-size:10px; margin:0px; padding:0px;"
onclick="
if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '')
{
this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';
this.innerText = '';
this.value = 'Hide';
}
else
{
this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none';
this.innerText = '';
this.value = 'Show';
}"/>
<b>Spoiler-Warnung</b> (Lesen auf eigene Gefahr)
</div>
<div class="inposttable">
<div style="display: none;">
{param1}
</div>
</div> |
|
Das ist meine Version des Spoiler Codes. Der Valdi scheints auch zu mögen.
Zum sprachvariablen nutzen war ich grad zu faul.
€dit: es scheinen noch Fehler drin vorhanden zu sein.
Mayrix
@Ph!L$,
ich wollte jetzt einen Button dafür in die bbcode_button.tpl machen, aber leider müssen da ja noch mehrere Dinge dafür erstellt werden, denn sonst funktioniert das ja nicht, hast Du dafür auch etwas erstellt?
Gruß Mayrix
SgtSlyghter
Thx hat super gefunzt
Ohne Probs eingebaut, hab den irgendwie seid ewigkeiten gesucht aber keinen gefunden.
mfg
Ner0
Scout123
LOL super!!!! Hab jetzt so einen ähnlichen Spoiler bb code gemacht
Man warum habe ich diesen Thread nicht vorher gefunden..
GoreHound
ich hab den auch eingebaut, colle sache, nur hab ich da ein kleines problem und zwar, wie krieg ich das hin das der auch bei den bbcodes beim thread erstellen angezeigt wird, aklso so das mann es nur anklicken muss und ein kleines fenster komtm wo mann das den text reinschreiben kann. so z.b. ein link hinzufügen?!?!
Sa!boT
Zitat: |
Original von GoreHound
ich hab den auch eingebaut, colle sache, nur hab ich da ein kleines problem und zwar, wie krieg ich das hin das der auch bei den bbcodes beim thread erstellen angezeigt wird, aklso so das mann es nur anklicken muss und ein kleines fenster komtm wo mann das den text reinschreiben kann. so z.b. ein link hinzufügen?!?! |
Dem kann ich mich nur anschließen...
Mayrix
@Sa!boT und GoreHound
Ich bin zwar auch kein Coder, aber ich habe es bei mir so gelöst:
Ich habe den bbcode so erstellt wie es hier beschrieben wurde:
Spoiler BB-Code
Damit ist dann dieser Text:
Spoiler
immer darüber, und man kann ihn nicht ändern! (beim einbau änderbar, aber nicht für die User)
dann habe ich in der bbcode_buttons.tpl diese Zeile eingefügt, wo der Button sein soll:
code: |
1:
2:
3:
|
<img src="{$style['imagefolder']}/bbcode_Spoiler.gif" alt="{$lang->items['LANG_POSTINGS_BBCODE_spoiler']}" title="{$lang->items['LANG_POSTINGS_BBCODE_Spoiler']}" border="0" onclick="bbcode(document.bbform,'Spoiler','')" onmouseover="this.style.cursor='hand';" />
|
|
dazu muß natürlich noch eine Sprachdatei in "postings" Namens:
LANG_POSTINGS_BBCODE_Spoiler
erstellt werden, und ein Button namens bbcode_Spoiler.gif!
So klappt es bei mir sehr gut!
Es ist zwar auch keine saubere Löung, aber da hier ja keiner etwas in diese richtung macht, habe ich mir damit beholfen!
Ich Bitte auch alle die coden können hier nicht so genau hinzuschauen, ist nur eine Löung die ein nichtcoder erstellt hat
Gruß Mayrix
afrasenta_1
Habe da ne frage ...
ich möchte einmal,
wenn [spoiler]text[/spoiler] ist das kommt
Spoiler: BUTTON
und wenn ich [spoiler=test]text[/spoiler] mache
test: BUTTOn
kommt
verständlich und umsetzbar?
mauserklausi
Moin,
bei mir ist ein Problem: Der Text, der versteckt werden soll, wird auch versteckt, aber er erscheint davor noch offen, obwohl der Code [spoiler]bla[/spoiler] eingegeben wurde.
Er erscheint also noch mal offen. Beim Anhang wird der Text, der eigendlich erst auf Druck auf "Hide" zu sehen ist, offen davor angezeigt.
BSP:
http://zischundwech.de/thread.php?threadid=226&page=1
Boston
bei mir ist das selbige problem =(=(=(
kann mir da wer weiterhelfen?