Seite 1 von 5

BBcode [spoiler][/spoiler]

Verfasst: 29.08.2007 16:57
von HF
Wie in diesem Beitrag beschrieben: http://www.lpi-clan.de/viewtopic.php?f=26&t=2766

Möchte ich in mein Forum das Spoiler-Prinzip einbauen. Die Frage ist ob ich es MIT dem ACP-Mitteln auch 2-Sprachig und für subsilver2 und prosilver verschieden machen kann?

Verfasst: 29.08.2007 18:12
von HF
So, ich habe male ein wenig geforscht und leider wenig gefunden weil das 3.0 ja noch in den Kinderscuhen steckt.

Also, ich betreibe ein 2-sprachiges Forum und möchte den Spoler BBCode via ACP einbauen.

Probleme:
1) Anzeige im Post sowohl in Deutsch als auch Englisch ist nicht in der Anleitung von Dr.Death enthalten.
2) Hilfe in 2 Sprachen.

Lösungsansätze:

Routine VOR den eig. BBCode einbauen die die verwendete Sprache abfragt um dann Variablen definieren zu können die Show / Hide bzw Anzeigen/Ausblenden auswerfen.

So, da ich ein totaler PHP-Noob bin gibt es das Problem das ich nicht weiß wie man so eine Routine erstellt. Vorallem das Abfragen der verwendeten Sprache bereitet mir große Probleme.

Code: Alles auswählen

'BBCODE_SP_AUS'		=> 'Hide',
	'BBCODE_SP_AN'		=> 'Show',
	'BBCODE_SP_HELP'			=> 'Add spoiler: [spoiler]text[/spoiler]',
bzw:

Code: Alles auswählen

'BBCODE_SP_AUS'		=> 'Ausblenden',
	'BBCODE_SP_AN'		=> 'Anzeigen',
	'BBCODE_SP_HELP'			=> 'Spoiler hinzufügen: [spoiler]Text[/spoiler]',
ist das was ich mir schonmal überlegt habe. dann muss an die stelle wo anzeigen btw ausblenden in dem code steht nur BBCODE_SP_AUS bzw BBCODE_SP_AN durch einen echo tag eingefügt werden.

Kann mir jemand bitte helfen?

Henning

Verfasst: 29.08.2007 18:38
von Dr.Death
Hi,

dies ist relativ einfach.
Innerhalb der HTML-Ersetzung kannst du außerdem jede Sprachvariable, die im Verzeichnis language/ definiert ist, wie folgt benutzen: {L_<STRINGNAME>}, wobei <STRINGNAME> durch den Namen der Variablen mit dem übersetzten Text ersetzt wird. {L_WROTE} wird beispielsweise als „hat geschrieben“ oder dessen Entsprechung, je nach eingestellter Benutzersprache, angezeigt.

Baue Deine neuen Übersetzungen in die Dateien:

language/en/common.php und
language/de/common.php ein.

Beim Spoiler HTML Code musst Du nur noch passen die Sprachsegmente mit Deinen neuen {Vatriablen} ersetzen:

Code: Alles auswählen

<div style="padding: 3px; background-color: #2A2A2A; border: 1px solid #d8d8d8; font-size: 1em;"><div style="text-transform: uppercase; border-bottom: 1px solid #E7E7E7; margin-bottom: 3px; font-size: 0.8em; font-weight: bold; display: block;"><span 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.innerHTML = '<b>Spoiler: </b><a href=\'#\' onClick=\'return false;\'>{L_BBCODE_SP_AUS}</a>'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerHTML = '<b>Spoiler: </b><a href=\'#\' onClick=\'return false;\'>{L_BBCODE_SP_AN}</a>'; }" /><b>Spoiler: </b><a href="#" onClick="return false;">{L_BBCODE_SP_AN}</a></span></div><div class="quotecontent"><div style="display: none;">{TEXT}</div></div></div>
Nur eine Lösung für den Hilfetext habe ich noch nicht gefunden.

Verfasst: 30.08.2007 18:34
von HF
danke für die Hilfe, es funktioniert so!

Jetzt werd ich dann noch mal ein schönes Mittelding zwischen Subsilver2 und Prosilver für das "Template" des spoilers suchen.

LG

Henning

Verfasst: 30.08.2007 19:37
von HF
Okay, noch mal was:

Könnte man auch das so amchen das man abfragt welches template es ist und dann speziefische borde etc. zu geben?

Ungefähr so:

if ( $TEMPLATE == subsiler ) { ... } else { ... }

Is das möglich wenn man das im ACP an der jeweiligen stelle einsetzt?

(Benutze SubSiler2 und Prosilver)

HF

Verfasst: 30.08.2007 20:02
von Dr.Death
Nein, das ist in den BBCodes nicht möglich.


Und bitte beachte : KB:16 - Kapitel Toipc Bumping. Danke.

Verfasst: 07.09.2007 13:47
von Darkhelfer03
Ich hatte meine noch bisschen geändert aber sollte denke mal vllt helfen.

Code: Alles auswählen

<div>
<div class="quotetitle">
<b><i>Achtung Spoiler!</i></b>&nbsp;&nbsp;&nbsp;
<input value="Show" style="border-color: rgb(169, 184, 194); margin: 0px; padding: 0px; width: 50px; font-size: 10px; color: rgb(174, 174, 174); background-color: rgb(0, 0, 0);" 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'; }" type="button"> </div>
<div class="quotecontent"> <div style="display: none;">
{TEXT}</div> </div> </div><br>
Bei mir gehts ;)

Demo: http://winny52.wi.funpic.de/viewtopic.php?f=1&t=567

Verfasst: 29.09.2007 02:02
von Dark_Blade
Ich kenne mich mit dem enbaue von mods beim phpbb nicht aus wo muss ich das html ding reinaheun udn wie funzt das?

Verfasst: 30.09.2007 10:33
von TiboKe
Hey danke für den Spoiler..... der ist super....
habe mir nur den Text angepasst.....


danke für die Arbeit...

find ich echt klasse

Verfasst: 30.09.2007 19:31
von TiboKe
wäre es auch irgendwie möglich url`s damit in Hide zu setzten aber wenn man dann auf show klickt die url anklicken kann???