Themen Bilder Template abhängig

Begonnen von Fraenzchen, 05 Oktober 2005, 16:11:15

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 3 Gäste betrachten dieses Thema.

Fraenzchen

Hi,

Template=themes/mytheme/

Ich brauche für eine Seite vier (oder mehr) verschiedene Templates.
Dabei sollen auch die Themen-Bilder unterschiedlich sein. Das "Umschalten" der Templates sollte dann ohne händische Codeanpassung funktionieren.
Die Themen-Bilder liegen aber in images/topics und können nicht template-bezogen angesprochen werden, richtig?

Folgende Lösungsansätze hab' ich mir überlegt:
1. Es wird beim Aufruf eines Templates (theme.php) eine Funktion (?) aufgerufen, die überprüft, ob es im Templateordner einen /themes/mytheme/images/topics gibt (evt. falls ja sogar, ob Bilder drin sind) und dann den "Standardpfad" /images/topics angepasst.
2. Man macht Unterordner in images/topics zb. images/topics/mytheme/ und schreibt in topics.php was um.

:) Hab' ich schon erwähnt, dass ich nicht der php-crack bin?

Beides ist aber wahrscheinlich heftiges Gefummel, da in pragma nach meinen bisherigen (bescheidenen) Erkenntnissen, viele Pfade und Links hart kodiert sind (zB images/topics).

Hat das schon jemand realisiert?
Falls nein, taugt einer meiner Lösungsansätze was?
Falls ja, welcher? Tipps?

Danke im Voraus
Fränzchen

henne

Dafür gibt es in der Themeengine des pragmaMx die Sys_Images Funktion, hier mal ein Auszug des kommenden Handbuchs:

3.4.2. Ändern der Themegestaltung per Grafiktausch

Ein weiterer Weg Ihr Theme zu verändern, ist das Austauschen der mitgelieferten Grafiken. Sie können z.B. das Logo im Header-Bereich anpassen, indem Sie eine eigene Grafik in derselben Größe und mit demselben Namen erstellen und diese gegen den Platzhalter austauschen.Mit der theme-engine ist es möglich, alle Grafiken, die zum pragmaMx-System gehören, auszutauschen.
Dafür erstellen Sie im jeweiligen theme-Ordner einen weiteren Ordner namens sys_images und fügen dort die auszutauschenden Grafiken mit demselben Namen und derselben
Ordnerstruktur ein.Beispiel:Sie wollen z.B. die Grafik stars-1.gif ersetzen lassen. Diese Grafik befindet sich in folgendem Pfad: http://www.ihreseite.xy/images/articles/stars-1.gif. Um sie von der theme-engine mit Ihrer Grafik ersetzen zu lassen, muss sie in folgendem Pfad liegen: http://www.ihreseite.xy/themes/ihrtheme/sys_images/articles/stars-1.gif.Beim nächsten Aufruf Ihrer Seite, wird im Ordner sys_images eine Datei Namens sys_images.php erstellt, in der die Anweisungen für den Austausch stehen.

Wenn Sie neue Grafiken in den Ordner sys_images kopieren, muss die sys_images.php gelöscht werden. Sie wird beim nächsten Seitenaufruf neu erstellt und enthält die neuen Pfade.
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken

Fraenzchen

Hi Henne,

danke für den Hinweis, hab' mir jetzt das Beta-Handbuch gezogen,  es funktioniert aber nicht ganz.
Im meiner sys_images.php steht dann:

$part[] = array('articles/stars-0.gif', 'themes/chica-standard/sys_images/articles/stars-0.gif');

Dem Teil 'articles/stars-0.gif' fehlt aber das 'images' davor, daher werden die Pfade dann auf images/themes... gesetzt und dort natürlich nicht gefunden.

Hab' ich da bei rumprobieren in einer Datei was verhunzt? Und falls ja, welche Datei erzeugt denn die sys_images.php?

Einen Nachteil hat diese sys_images-Lösung aber allgemein: Es werden "nur" Bilder ersetzt, die im entsprechenden Hauptordner vorhanden sind, d.h. ich muss alle gewünschten themen-spez. Bilder auch im Ordner zb /images/topics anlegen und die nicht-themenspezifischen Bilder aus /im/top werden auch mit zur Auswahl angezeigt, richtig?

Grüße

Fränzchen

henne

Hallo Fraenzchen,

also die Sys_Images sind wie der Name schon sagt nur für Systemgrafiken bestimmt z.B. Topicimages u.s.w.. Wäre ja auch "Quatsch" wenn man im Theme Themerelevante Grafiken tauscht oder ?

Das funktioniert nicht weil im Handbuch ein Fehler ist ;) (ist ja noch Beta und so findet man auch Fehler *hehe*)

der Pfad für die zu ersetzende Grafik muss lauten:

http://www.ihreseite.xy/themes/ihrtheme/sys_images/images/articles/stars-1.gif

Der Ordner sys_images ist sozusagen immer das Root des pragmaMx.

sorry dafür ;)

Zum Rest erklär nochmal bitte genau wie Du das mit dem Themewechsel meinst, also wie das mit dem Umschalten der Themes gemeint ist.. Wonach richtet sich welches Theme angezeigt wird ?
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken

Fraenzchen

Hi henne,

danke für deine Antwort.
Werd's gleich testen.

Zitat von: henne am 06 Oktober 2005, 14:32:42
Hallo Fraenzchen,

also die Sys_Images sind wie der Name schon sagt nur für Systemgrafiken bestimmt z.B. Topicimages u.s.w.. Wäre ja auch "Quatsch" wenn man im Theme Themerelevante Grafiken tauscht oder ?

Ich glaube wir reden aneinander vorbei: theme==module : theme==template

Ich möchte unterschiedliche Topicimages bei verschiedenen Templates(themes/myfkktheme/), aber für die gleichen themes(modul).
Also bei /themes/myfkktheme_blue eben die Topicimages aus /themes/myfkktheme_blue/sys_images/images/topics/mytopic_blue.gif
Das geht ja (wohl) auch mit dem sys_images Ordner nach Betakorrekturen. :)
Aber dazu muss man alle Topicimages in allen Varianten in /images/topics/ und in /themes/myfkktheme_blue/sys_images/images/topics/ ablegen und es werden in allen Templates(themes/myfkktheme_blue/, themes/myfkktheme_green ...) im Admin-themes-editor dann alle (auch "unnötige")* Varianten angezeigt.
*Für single-man show kein Prob'; aber DAUs?
ZitatDas funktioniert nicht weil im Handbuch ein Fehler ist ;) (ist ja noch Beta und so findet man auch Fehler *hehe*)
Einer weniger...
Zitatsorry dafür ;)
wer frei von ...
ZitatZum Rest erklär nochmal bitte genau wie Du das mit dem Themewechsel meinst, also wie das mit dem Umschalten der Themes gemeint ist.. Wonach richtet sich welches Theme angezeigt wird ?
Ich meinte themes=template (s.o.)

Beste Grüße
Fränzchen

henne

o.k. da haben wir wohl aneinander vorbei geredet ;)

ich rekapituliere mal:

Du willst als erstes mal Themen==Topics anlegen... die bleiben gleich.

Für die verschiedenen Themes==Templates sollen dann für die Themen==Topics jeweils andere Topicimages angezeigt werden.

Dass das über die Sys_Images funktioniert haben wir ja jetzt schon geklärt.

Puhhh...

ZitatAber dazu muss man alle Topicimages in allen Varianten in /images/topics/ und in /themes/myfkktheme_blue/sys_images/images/topics/ ablegen und es werden in allen Templates(themes/myfkktheme_blue/, themes/myfkktheme_green ...) im Admin-themes-editor dann alle (auch "unnötige")* Varianten angezeigt.


Um das zu vermeiden:
wie ich aus Deinem anderen Post entnehmen konnte erstellt da jeder Redakteur(oder so) "wild" Topicimages...

Sollte man da nicht um sich die Sache zu vereinfachen, da ja die Themen==Topics immer gleich sind, den Topicimages nicht die selbe Struktur verpassen ?

Als Beispiel:

für Thema1==Topic1 ganz normal unter images/articles  topicimage1 anlegen

und jeweils im Theme==Template unter sys_images/images/articles durch topicimage1 ersetzen lassen.

Auf diese Weise gibt es im Orginal Image Ordner immer nur je Topic ein Topicimage, welches dann pro Theme==Template ersetzt wird. Also meiner Meinung nach eine Frage der Organisation. Die Struktur kann man ja dem Theme ähhh Team mitteilen. Damit würde sich auch das Problem der langen Topicimagedateinamen erledigen.

Denke das wär die einfachste und stressfreiste Lösung.
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken

Fraenzchen

Hi henne,

gar nich' so einfach mit themes und so ..., gelle   ;)

Also.....
eigentlich gibts kein wirkliches Problem mehr.
Das kann man schon hinkriegen.

ZitatAlso meiner Meinung nach eine Frage der Organisation.
Genau.

Aber.....  ;D
wie wärs denn mit einer "skalierbareren" ("granulier-" oä) Variante?
Will heissen: Alle ("System"-)Images-Verzeichnisse werden bei vorhandenen, entsprechenden theme(template)-Unt.Verz. "ersetzt" und auch nur diese im entspr. admin-editor angezeigt.
So á la:
if (MX_THEME/images/$whatsoever/){$Global['tipath']=MX_THEME/images/$whatsoever/;}* in der conf
*kein "echter Code"


Grüße
Fränzchen
(php.skills<room.temp)

RiotheRat

Auch wenn es jetzt etwas abweisend klingen mag ... guck mal das Forum durch ... wieoft wurde dieser Featurewunsch vorgetragen?

Meinst Du nicht auch dass das eher in die Richtung "individuelle Anpassung" geht? Wenn -JEDE- Datei, jedes Feature innerhalb des Mx frei skalierbar und anpassbar wäre / sein sollte - wo soll dann noch eine vernünftige Performance zustande kommen?

Ich verweise hier gerne auf die Antwort von Andi: http://www.pragmamx.org/modules.php?name=Forum&topic=13911.msg95437#msg95437 - es gibt einfach Sachen die werden nicht allzuoft benötigt und wenn dann jemand eine derartige individuelle Anpassung braucht - muss das eben auch individuell eingebaut / angepasst werden.

"Otto Normaluser" ist ohnehin schon jetzt mit der Masse an Konfi8gurationsparametern und Möglichkeiten "erschlagen". Im Sinne eines schlanken und einfachen Systems kann man als Team daher nicht auf alle erdenklichen Wünsche "ab Werk" eingehen.

Ich brauche grade für ein aktuelles Projekt eine "Pay 4 Content" - Lösung. Da ich, bzw. mein Kunde, das benötigt werde ich mir das wohl einbauen müssen. Ins Mx als solches kommt diese Lösung aber trotzdem nicht - warum? Dafür ist einfach zu selten ein echter Bedarf da.

Und da Mx ja komplett OS ist kann sich jeder die Anpassungen erstellen die Er für nötig erachtet und braucht. Oder wie sagt der Volksmund so schön? Allen Leuten recht getan - ist eine Kunst die niemand kann ...
RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...