Smilies alt="" Text zuweisen

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Susan
Beiträge: 530
Registriert: Mo 03.Jan, 2005 22:55
Wohnort: Hamburg

Smilies alt="" Text zuweisen

Beitrag von Susan »

Hi,

ich bräuchte wieder php-Hilfe

Am Besten ich hänge die php-Datei mal mit an ... Auf jeden Fall geht es um diesen Bereich:

Code: Alles auswählen

$smilies = array
			(
				'1' => array
				(
					'smilies_id' => '1',
					'code' => ":sims1:",
					'smile_url' => "sims1.gif",
					'emoticon' => "sims1",
				),
Dort müßte das emoticon auf die lang_mains zugreifen zb $lang['Sims1'] = 'Sims1';
Wenn ich das so eintrage: 'emoticon' => $lang['Sims1'], wird nichts angezeigt :(

in der tpl-Datei sieht das ganze so aus:

Code: Alles auswählen

<img src="images/links/sims1.gif" border="0" onmouseover="this.style.cursor='hand';" onclick="emotions(' :sims1: ');" />
Nehme ich aus der php-Datei die Zeile emoticon heraus und füge dafür in der tpl-Date den alt-Text alt="{L_SIMS1}" ein wird gar nichts angezeigt wenn man mit der Maus über den Text fährt

gruß
Susan
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also folgendes:

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
linkdb/includes/functions_linkdb.php

#
#-----[ FIND ]------------------------------------------
#
	function smilies_pass($message)
	{
			global $board_config;
			global $phpbb_root_path;

#
#-----[ AFTER, ADD ]------------------------------------------
#
			global $lang;

#
#-----[ FIND ]------------------------------------------
#
					'emoticon' => "sims1",

#
#-----[ REPLACE WITH ]------------------------------------------
#
					'emoticon' => $lang['sims1'],

#
#-----[ FIND ]------------------------------------------
#
					'emoticon' => "sims2",

#
#-----[ REPLACE WITH ]------------------------------------------
#
					'emoticon' => $lang['sims2'],

#
#-----[ FIND ]------------------------------------------
#
					'emoticon' => $lang['obj'],

#
#-----[ REPLACE WITH ]------------------------------------------
#
					'emoticon' => $lang['sims3'],

#
#-----[ FIND ]------------------------------------------
#
					'emoticon' => "objecth",

#
#-----[ REPLACE WITH ]------------------------------------------
#
					'emoticon' => $lang['sims4'],

#
#-----[ FIND ]------------------------------------------
#
					'emoticon' => "objectt",

#
#-----[ REPLACE WITH ]------------------------------------------
#
					'emoticon' => $lang['sims5'],


#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Kurze Erklärung:
Dein Ansatz war ja schon richtig, aber damit auch die Sprachvariablen in der betreffenden Funktion auch zur Verfügung stehen, müssen diese auch dort eingebunden werden.
Das geschieht dann mit dem Befehl "global $lang;" der eben das Array $lang mit den einzelnen Texten global verfügbar macht und damit in der betreffenden Funktion zugänglich.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Susan
Beiträge: 530
Registriert: Mo 03.Jan, 2005 22:55
Wohnort: Hamburg

Beitrag von Susan »

Das hat wunderbar geklappt :) - Ich hab auch schon die Lösung gefunden wie ich das 2sprachige Anzeigen lösen kann (hätte auch schon früher draufkommen können :rolleyes: )

Es gibt die Möglichkeiten Grafiken in den jeweiligen Sprachordner unter images abzulegen in in mit dem Befehl <img src="templates/deinstyle/images/{LANG}bild.gif" einzubinden. Bis jetzt klappt es wunderbar. Jedoch hab ich jetzt das Problem das ich dieses {LANG} auch in der functions_linkdb.php unterbringen muß:

Code: Alles auswählen

statt
 'smile_url' => "object.gif",  
sollte dann 
'smile_url' => "templates/style/images/{LANG}link_object.gif",
stehen
Pustekuchen. Er mag die { } klammern nicht und der Pfad stimmt nicht :mad:
Die Umsetzung im Link sieht so aus:
http://www.blabla.de//images/links/temp ... object.gif

Ich finde PHP zum ^a ¦1
Warum funktioniert das nie so wie ich das gerne hätte [schild=12 fontcolor=000000 shadowcolor=FFFF00 shieldshadow=1]Frust schieb[/schild]

Ist da jetzt wieder viel zu ändern, oder bekommt man das hin?
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Definier die images mal in der .cfg datei deines templates.
und zwar ungefär so:

Code: Alles auswählen

$images['link_objekt'] = "$current_template_images/{LANG}/link_object.gif";
(einfügen vor ?>)
und dann gehst du hin und ersetzt

Code: Alles auswählen

'smile_url' => "templates/style/images/{LANG}link_object.gif",
mit

Code: Alles auswählen

'smile_url' => $images['link_object'],
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Susan
Beiträge: 530
Registriert: Mo 03.Jan, 2005 22:55
Wohnort: Hamburg

Beitrag von Susan »

Nop, geht nicht.
Jetzt sieht der Pfad so aus: http://www.blabla.de//images/links/

Irgendwo wird definiert das die Bilder alle im rootverzeichnis unter images/links liegen. Ich habs nicht gefunden. STOPP, aha

Code: Alles auswählen

for ($i = 0; $i < count($smilies) + 1; $i++ && $message = $test )
			{
				$pattern = "/" . $smilies[$i]['code'] . "/";
				$path = $phpbb_root_path . "/images/links/" .  $smilies[$i]['smile_url'];
				$title = $smilies[$i]['emoticon'];

				$replace = "<img src=\"" . $path . "\" alt=\"" . $title . "\" title=\"" . $title . "\">";

				$test = preg_replace($pattern, $replace, $message);


			}
da muß das {LANG} mit rein *grübel*
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ganz falsch.
Damit die Images auch gemäß der Definitionen in der .cfg-Datei verfügbar sind, muss in der functions_linkdb.php nach den Zeilen

Code: Alles auswählen

	function smilies_pass($message)
	{
noch diese Zeile eingefügt werden:

Code: Alles auswählen

			global $images;
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Susan
Beiträge: 530
Registriert: Mo 03.Jan, 2005 22:55
Wohnort: Hamburg

Beitrag von Susan »

^b jetzt gehts :D
Nun wartet ne ganze Menge Arbeit auf mich mit dem einbinden Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Viel Spaß dabei.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten