Archiv verlassen und diese Seite im Standarddesign anzeigen : Bestimme Wörter ausmatisch ersetzen lassen
pixel-shock
08.05.2008, 20:30
Hi,
ich mag ja garkeine Fragen mehr stellen, weil ich schon mehr als genug gestellt habe, aber ich komme absolut nicht weiter.
Ich möchte bestimmte Wörter im Post durch andere ersetzen lassen, dabei geht es um die Übersetzung bestimmter Wörter ins Deutsche.
Mit Ersetzungsvariablen geht das leider nicht - die sind dafür ja auch nicht gemacht denke ich :)
Mit bb Codes geht das auch nicht, weil das zu umständlich für die User wäre.
Kennt ihr da noch eine Möglichkeit?
LG
Tino
Mit Ersetzungsvariablen würde das schon gehen, diese gelten zwar im ganzen Forum und nicht nur in Beiträgen, aber das sollte in diesem Fall ja kein Hinderungsgrund sein, oder?
Eine andere Möglichkeit gibt es nicht.
Ich würde aber auch nicht einfach ein Wort mit der Übersetzung ersetzen lassen, arbeite doch lieber mit Akronymen:
http://www.vbulletin.org/forum/showthread.php?t=113846
pixel-shock
09.05.2008, 18:45
Hi,
Ersetzungsvariablen hauen mir auch diverse Grafiken raus und zerstören sonst noch einiges ...
Die Sache mit den Akronymen muss ich gleich mal testen:)
THX für den Tip!
LG
TIno
pixel-shock
09.05.2008, 20:00
Hi nochmal :)
Also das geht wunderbar :)
LG
Tino
pixel-shock
15.05.2008, 15:42
Hi :)
eine Frage habe ich da noch ... ich habe mir das jetzt soweit wie möglich individualisiert, sprich es ist jetzt auch möglich länge Wortgruppen als Acronyme zu nutzen, was vorher nur fehlerhaft ging, aber ich habe ein Problem mit dem Wort "transform" ... wenn ich also als Acronym "transform" nehme und die "Übersetzung" = "transformieren" ist, dann zerhaut er mit den kompletten span, indem das Acronym sitzt.
Ist "transform" oder ein änhliches Wort ein reservierte Variable oder ähnliches in VB?
Hier mal der neue AddOn Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<product productid="acronym_mod" active="1">
<title>Acronym Mod for vB 3.5</title>
<description>Test it!</description>
<version>0.1</version>
<codes>
<code version="0.1">
<installcode><![CDATA[$db->query("CREATE TABLE `" . TABLE_PREFIX . "acromod` (
`id` mediumint(9) NOT NULL auto_increment,
`acro` varchar(100) NOT NULL default '',
`desc` text NOT NULL,
PRIMARY KEY (`id`)
)");]]></installcode>
<uninstallcode><![CDATA[$db->query("
DROP TABLE " . TABLE_PREFIX . "acromod
");]]></uninstallcode>
</code>
</codes>
<templates>
</templates>
<plugins>
<plugin active="1">
<title>Acronyms</title>
<hookname>postbit_display_complete</hookname>
<phpcode><![CDATA[global $vbulletin, $db;
$acros = $vbulletin->db->query_read("SELECT *, LENGTH(acro) laenge FROM ". TABLE_PREFIX . "acromod ORDER BY laenge DESC");
while ($acros_final=$vbulletin->db->fetch_array($acros))
{
$post['message'] = preg_replace('/'.preg_quote($acros_final['acro']).'/i', '<span title="header=[Hilfe:] body=['.$acros_final['desc'].'] offsetx=[25] delay=[500] cssheader=[tooltipheader] cssbody=[tooltipbody]" style=" font-weight:bold; color:#CCCCCC; border-bottom: 1px dotted #CCCCCC; cursor: help;">'.$acros_final['acro'].'</span>', $post['message']);
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="Control Panel Global" fieldname="cpglobal">
<phrase name="acro_opt"><![CDATA[Optionen-Bearbeiten]]></phrase>
<phrase name="acro_tit"><![CDATA[Acronyme]]></phrase>
</phrasetype>
</phrases>
<options>
</options>
</product>
LG
Tino
StGaensler
16.05.2008, 15:28
Hallo,
"zerhaut" ist eine recht weit gefasste Fehlerbeschreibung, da kann ich dir leider nicht sagen, woran das liegt. Ich tippe aber darauf, dass da noch JavaScript mit beteiligt ist, welches dann Fehler verursacht - der PHP-Code sieht gut aus.
Eine Beispiel-Ausgabe im HTML-Quelltext (schreib einfach den Link zur Seite rein) wäre sehr hilfreich, dann kann ich mir das mal ansehen.
Prinzipiell solltest du dich aber an den Autor dieses Add-Ons wenden.
Viele Grüße
Stefan
pixel-shock
16.05.2008, 15:40
Hi :)
ja meine Fehlerbeschreibung war etwas zu allgemein, vor einer halben Stunde hab ich's dann aber noch hinbekommen ;)
<?xml version="1.0" encoding="ISO-8859-1"?>
<product productid="acronym_mod" active="1">
<title>Acronym Mod for vB 3.5</title>
<description>Test it!</description>
<version>0.1</version>
<codes>
<code version="0.1">
<installcode><![CDATA[$db->query("CREATE TABLE `" . TABLE_PREFIX . "acromod` (
`id` mediumint(9) NOT NULL auto_increment,
`acro` varchar(100) NOT NULL default '',
`desc` text NOT NULL,
PRIMARY KEY (`id`)
)");]]></installcode>
<uninstallcode><![CDATA[$db->query("
DROP TABLE " . TABLE_PREFIX . "acromod
");]]></uninstallcode>
</code>
</codes>
<templates>
</templates>
<plugins>
<plugin active="1">
<title>Acronyms</title>
<hookname>postbit_display_complete</hookname>
<phpcode><![CDATA[global $vbulletin, $db;
$acros = $vbulletin->db->query_read("SELECT *, LENGTH(acro) laenge FROM ". TABLE_PREFIX . "acromod ORDER BY laenge DESC");
while ($acros_final=$vbulletin->db->fetch_array($acros))
{
$post['message'] = preg_replace('/\b'.preg_quote($acros_final['acro']).'\b/i', '<span title="header=[Hilfe:] body=['.$acros_final['desc'].'] offsetx=[25] delay=[200] cssheader=[tooltipheader] cssbody=[tooltipbody]" style=" font-weight:bold; color:#CCCCCC; border-bottom: 1px dotted #CCCCCC; cursor: help;">'.$acros_final['acro'].'</span>', $post['message']);
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="Control Panel Global" fieldname="cpglobal">
<phrase name="acro_opt"><![CDATA[Optionen-Bearbeiten]]></phrase>
<phrase name="acro_tit"><![CDATA[Acronyme]]></phrase>
</phrasetype>
</phrases>
<options>
</options>
</product>
Das funtzt soweit echt super, Probleme gibts nur noch, weil er teilweise im ersetzen Text auch noch ersetzt, somit ist es manchmal doppelt gemoppelt, aber das ist ein LogikProblem und das bekomm cih hoffentlich auch noch auf die Reihe ;)
LG
Tino
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.