Seite 1 von 1

Platzhalter in .cfg Datei

Verfasst: 04.07.2007 21:24
von Sanchez17
Hola todos, :P

hab mal wieder ein Problem.

Ich möchte in meinen Forum, 2 verschiedene Icons für Beiträge anbieten.
Einmal Blaue, und einmal Orange.

Durch den Costum Profil Hack können die User die Farbe sich aussuchen. Ich lasse diese dann auslesen und möchte diese dann an die .cfg Datei im templates Ordner weitergeben. Nur weiß ich nicht wie.

Aus:

$images['folder_new'] = "$current_template_images/folder_new.gif";

würd ich dann gern

$images['folder_new'] = "$current_template_images/folder_new_{FARBE}.gif";

machen. Durch den Platzhalter wird dann das richtige Icon angezeigt.

Doch, bis jetzt konnte ich nicht die Zeilenm geschweige die Datei finden indem ich den Platzhalter {FARBE} für die .cfg Datei definieren kann.

Hat da jemand nen Tip? :)

Verfasst: 04.07.2007 22:48
von Asmodiel
warum so kompliziert?

kopier den style 1:1 und änder die icons...
und dann in der styleauswahl: Style mit orangenen || Style mit Blauen icons

Verfasst: 05.07.2007 07:59
von Dr.Death
Nur wegen einem Icon das ganze Style kopieren?
Das ist ja nicht Ziel seines Wunsches..... zudem hätte er doppelten Aufwand wenn es Template Updates gibt.

Verfasst: 05.07.2007 11:13
von gn#36
Der Code in der Datei ist ja einfacher PHP Code. Du brauchst dir also nicht die Mühe zu machen da extra sowas wie den {LANG} Platzhalter zu definieren sondern kannst auch einfach Variablen verwenden. Das hat den Vorteil dass du außer der Datei eigentlich nichts verändern musst. Ich habe das z.b. so gelöst:
Das hier ganz oben drüber:

Code: Alles auswählen

$current_template_images = $current_template_path . "/images";
//$current_template_images .= "/".$row['style_name'];
$current_style_path = $row['style_name'];
Und weiter unten dann z.b.

Code: Alles auswählen

$images['icon_latest_reply'] = "$current_template_images/$current_style_path/icon_latest_reply.gif";
$images['icon_newest_reply'] = "$current_template_images/$current_style_path/icon_newest_reply.gif";
Dann musst du nur die Icons und Bilder in den entsprechenden Unterordner des Styles legen.
Zusätzlich habe ich mir noch sowas in die Datei geschrieben:

Code: Alles auswählen

$template->assign_vars(array(
		'T_IMG_BACKGROUND1' => $images['background1'],
		'T_IMG_BACKGROUND2' => $images['background2'],
		'T_IMG_BACKGROUND3' => $images['background3'],
		'T_IMG_PICROOT' => $current_template_images,
		'T_IMG_STYLEPICROOT' => $current_template_images."/".$current_style_path
));
Damit kann ich dann ohne großen Aufwand zwischen zwei sehr ähnlich aufgebauten Styles umschalten ohne dass ich zwei Sätze von Templates benötige. Die Ordner in dem die Bilder liegen lassen sich natürlich anpassen.
Die Templatedateien musst du für diesen Umbau natürlich entsprechend anpassen wenn du auch die Variablen T_IMG_BACKGROUNDX usw. Angaben nutzen möchtest, ich fand das ganze aber recht praktisch.

Verfasst: 06.07.2007 15:46
von Sanchez17
Die Lösung kannte ich schon. Trotzdem danke :wink:

Ich hab gedacht, das ein Platzhalter die Beste Lösung wär. Wenn das aber mehr Arbeit ist, als diese Lösung werde ich es so machen. :)

Verfasst: 06.07.2007 16:12
von gn#36
Ich würde sagen dass der Platzhalter vor allem dann mehr Arbeit machen würde wenn dann doch mal ein Update an den Dateien ansteht, in denen die Ersetzung vorgenommen wird. Mit der Lösung oben steht alles in einer Datei. Außerdem ein str_replace weniger (irgendwie müsste man den Platzhalter ja dann gegen den Pfad austauschen), das wird ja dann PHP intern geregelt.

Verfasst: 06.07.2007 21:04
von Sanchez17
Ja, hast recht. Ich mach es dann wie oben beschrieben.

Danke :wink: