Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Layout mit Seitenwechsel ändern ?

Begonnen von Rainer, 12. März 2010, 09:08:55

« vorheriges - nächstes »

Rainer

Servus,

ist es prinzipiell möglich auf der Startseite ein blaues Layout mit Hintergrundbild 1 zu haben und auf der zweiten Seite z.B. ein knallgelbes mit Hintergrundbild 2.
Eine Überlegung meinerseits ist ja: im installierten Mozilo ein zweites, drittes etc. Mozilo mit dem jeweils gewünschten Layout zu installieren. <- Das wär aber sicher Dummfug.  :?
Freue mich über jede Anregung, die ich als nicht PHP'ler, umsetzen kann.
moziloCMS über Facebook bekannt machen
•• moziloCMS auf GitHub
••• Nichts ist einfacher, als das, was uns fremd ist, zu verachten.
•••• Mein moziloCMS

hausl78

#1
Hallo!

Ev. hilft dir das hier weiter:

viewtopic.php?f=4&t=667&hilit=bilder

Juergen

Rainer

#2
Na denne hausl78, das war eine schnelle Antwort die mir wahrscheinlich wirklich weiterhilft. Muss ich jetzt nur noch testen.

Danke
Rainer
moziloCMS über Facebook bekannt machen
•• moziloCMS auf GitHub
••• Nichts ist einfacher, als das, was uns fremd ist, zu verachten.
•••• Mein moziloCMS

Rainer

#3
So, nun hab ich den Test gemacht, aber leider wird immer nur auf der ersten Seite ein Bild angezeigt.

Diese beiden Varianten hab ich getestet:
<body style="background-image:url('kategorien/{CATEGORY}/dateien/{PAGE}.jpg');"> <img src="kategorien/{CATEGORY}/dateien/{PAGE}.jpg" alt="Ein Bild" />Wobei beide ja im Grunde das selbe machen, nur auf der jeweils eigenen Ebene eben. Beim zweiten Code wird der Text: "Ein Bild" angezeigt (für phantasievolle Menschen natürlich die Herausvorderung  :lol: )

Rainer
moziloCMS über Facebook bekannt machen
•• moziloCMS auf GitHub
••• Nichts ist einfacher, als das, was uns fremd ist, zu verachten.
•••• Mein moziloCMS

hausl78

#4
Zitat von: "Rainer"Beim zweiten Code wird der Text: "Ein Bild" angezeigt (für phantasievolle Menschen natürlich die Herausvorderung  :lol: )
Rainer

Prüf mal den Pfad im Quellcode ob der richtig zu dem Bild ist. Unter diesem Pfad müßte das Bild erreichbar sein, kannst auch direkt im Browser aufrufen - unter rechte Maustaste - eigenschaften und dann den Pfad mittels Copy&Paste oben in de Broser reinkopieren.

Juergen

Rainer

#5
Danke Jürgen, durch den Tipp hab ich nun festgestellt das ich bei der Namensgebung vom Bild die Position der Seite muss.
Ich hatte:
"30_KATEGORIE.jpg"Richtig ist aber:
Bei der Seite "Das":  .../kategorien/30_KATEGORIE/dateien/01_Das.jpg
Bei der Seite "Dies": .../kategorien/30_KATEGORIE/dateien/02_Dies.jpg

Rainer
moziloCMS über Facebook bekannt machen
•• moziloCMS auf GitHub
••• Nichts ist einfacher, als das, was uns fremd ist, zu verachten.
•••• Mein moziloCMS

hausl78

#6
Gehts so, oder?

So hast Du für jede INHALTSSEITE dann ein eigenes.

Was alternativ noch funktionieren müßte, wenn du je KATEGORIE eines haben willst (also alle Inhaltsseiten einer betreffenden Kateg. das selbe BG-Bild) das du in jedes /dateien/ Verzeicnnis das jeweilige Bild mit dem Name BG.png (oder so) reinlegst und dann in den Seiten so aufrufst:

<body style="background-image:url('kategorien/{CATEGORY}/dateien/BG.png');">

Rainer

#7
Jau Jürgen, genau so isses  :D

Und <body style="background-image:url('kategorien/{CATEGORY}/dateien/BG.png');"> wird sicher zum Einsatz kommen.

Merci auch nochmal
Rainer
moziloCMS über Facebook bekannt machen
•• moziloCMS auf GitHub
••• Nichts ist einfacher, als das, was uns fremd ist, zu verachten.
•••• Mein moziloCMS

mozzi

#8
Hallo,

eigentlich sollte man doch generell jeder Kategorie und wahlweise auch jeder Seite ein eigenes Layout zuordnen können, oder auch nur einzelne Bestandteile:

Unter diesem Link
viewtopic.php?f=12&t=670
habe ich ebschrieben, wie man generell dem Admin Zugriff auf CSS per Upload und per direktem Editieren ermöglichen kann.
Das muß man für den folgenden Vorschlag nicht zwingend auch so machen, aber man KANN es tun.

Also: Wenn man im Template nach der ursprünglichen CSS-Zuordnung noch eine weitere Zeile einfügt (also nochmal 'link rel="stylesheet"' usw.), und diese mit den Platzhaltern für Kategorie und ggf. Seite bestückt, dann läßt sich damit ein Überschreiben der ursprünglichen CSS-Vorgaben auslösen, soweit die entsprechende "zweite", kategoriespezifische oder zusätzlich nach der jeweiligen Seite benannte CSS-Datei im jeweiligen Kategorie-Verzeichnis bzw. mit dem entsprechenden Seiten-Dateinamen vorhanden ist.
UND: Da z.B. Pfadangaben zum Hintergrundbild und ggf. weitere Pfadangaben in CSS immer relativ zur deklarierenden CSS-Datei sind, werden diese Sachen auch immer in der jeweiligen Kategorie gesucht.

Damit sollte man die volle Auswahl haben, von der Änderung eines einzelnen Hintergrundbildes für eine ausgewählte Kategorie, bis hin zu komplett eigenständigen Layouts für jede Seite.

Wenn man nicht nur eine zweite, sondern noch eine 3. CSS-Deklaration hinzufügt (die 3. auf einzelne Seiten bezogen, also z.B. mit einem CSS-Dateinamen entsprechend dem Seitennamen), wird generell erst die ursprüngliche CSS-Deklaration abgearbeitet, dann die zur Kategorie gehörige, soweit vorhanden, und dann die zur aktuellen Seite gehörige, soweit vorhanden.

Die Sache habe ich noch nicht getestet, aber ich dneke das müßte so machbar sein. Oder habe ich irgendwo einen Denkfehler drin?

Grüße
Mozzi
Signatur? Ich nehm die Vorlage: "Die Bilder in ihrer Signatur dürfen nicht größ als 640x320 Pixel sein" ... ;-)

hausl78

#9
Zitat von: "mozzi"Wenn man nicht nur eine zweite, sondern noch eine 3. CSS-Deklaration hinzufügt (die 3. auf einzelne Seiten bezogen, also z.B. mit einem CSS-Dateinamen entsprechend dem Seitennamen), wird generell erst die ursprüngliche CSS-Deklaration abgearbeitet, dann die zur Kategorie gehörige, soweit vorhanden, und dann die zur aktuellen Seite gehörige, soweit vorhanden.

Die Sache habe ich noch nicht getestet, aber ich dneke das müßte so machbar sein. Oder habe ich irgendwo einen Denkfehler drin?

Grüße
Mozzi
Vom Ansatz her müßte es so schon gehen das man sich im template.html sowas reinmacht.. Wird die zweite .css gefunden wird sie dann geladen - und der zweite Eintrag überschreibt den ersten - falls idente class oder id verwendet werden.

ABER für jede nicht gefundene CSS gibt es meines Wissens ein File not Found bei der Validierung bzw. mindestens nen eintrag im Apache-Error-Log (404) :mrgreen:  Und ich finde den Ansatz schräg, für jede Seite ne eigene .css... irgendwie  :mrgreen:

<link rel="stylesheet" type="text/css" href="{LAYOUT_DIR}/css/style.css" />
<link rel="stylesheet" type="text/css" href="{LAYOUT_DIR}/css/{CATEGORY_URL}_{PAGE_URL}.css" />

(*) {CATEGORY_URL} und {PAGE_URL} glaub ich auf die Schnelle sind die richtigen

LG
Jürgen

freakiger

#10
grundsätzlich arbeite ich so: http://forum.mozilo.de/viewtopic.php?f=12&t=1513
und wenn Du z.B. das Hinztergrundbild per Back-End-Dateiverwaltung ändern möchtest, dann klappt das mit den richtigen Pfaden sicher auch.

mozzi

#11
@hausl78:
Also mich persönlich stört es nicht im Geringsten, wenn irgendwo festgehalten wird, daß eine Datei nicht auffindbar war.
Aber wen es stört, der kann ja eine weitere Version der irgendwo hier erwähnten "xget_css.php" erstellen und benutzen, statt des direkten Aufrufs der CSS-Datei, um eine inhaltsleere CSS-Datei auszugeben und einen 404-Fehler zu vermeiden.

Natürlich häufen sich irgendwann die Abweichungen von der Standard-Installation, wenn man so weitermacht, aber es geht hier ja auch nicht um eine Standard-Installation, sondern um eine recht einfache Erweiterungsmöglichkeit für die wenigen, die hier Sonderwünsche haben, aber möglicherweise nicht ganz so massiv mit seltener benutzten CSS-Regeln vertraut sind.
Signatur? Ich nehm die Vorlage: "Die Bilder in ihrer Signatur dürfen nicht größ als 640x320 Pixel sein" ... ;-)

RalfZ

#12
Hallo zusammen,

habe mal noch ne Frage, da ich nicht weiter komme und ich auch nach mehrfachen lesen der einzelnen Threads kein befriedigendes Ergebnis erziele.

Ich habe im Header drei verschachtelte div`s. In eines davon soll das Headerimage, dass beim Wechsel der Kategorie sich auch ändern soll:
Habe nun in die css Datei meines Layouts den vorgeschlagenen Code (also den Pfad mit den Variablen):
<body style="background-image:url('kategorien/{CATEGORY}/dateien/BG.png');">eingefügt (sieht so aus):
div.headerbild {
  background-image:url(../kategorien/{CATEGORY}/dateien/headerimage.jpg);
  background-repeat:no-repeat;
  position: relative;
   left:160px; top:35px; width:600px; height:120px;
  }
und in jedem "dateien" Ordner der vorhandenen Kategorien ein Bild mit gleichem Namen "headerimage.jpg" eingefügt.
Leider lässt sich kein Bild im div sehen.
Mit einem normalen Link funzts.
Habe ich einen Denkfehler?

Vielen Dank im Voraus

Gruß RalfZ
CMS: mozilo 2.0
Hoster: 1und1
HP: www.falknerei-herrmann.de

hausl78

#13
Der Knackpunkt hierbei ist das die .css Datei selbst nicht geparst wird, also dort der Platzhalter {CATEGORY} nicht ersetzt wird.

Dh entweder den css Code direkt in das template geben, oder Du machst dir je Hintergundbild eine eigene css-id die du dann
dynamsich im tempalte je nach Categorie aufrufst...

Und verwende {CATEGORY_URL}

Also zB den Code im Template so belassen...
<body style="background-image:url('kategorien/{CATEGORY}/dateien/BG.png');">und in der .css diese Zeile raus..
background-image:url(../kategorien/{CATEGORY}/dateien/headerimage.jpg);
INFO:
Ich würde die BG-Bilder besser ins layout Verzeichnis legen (layouts/DeinLayoutName/grafiken) und von dort aufrufen.. denn da gehören die auch in dem Fall hin. Also zB so (geht in der Form auch bei mod_rewrite)
<body style="background: url({BASE_URL}layouts/DeinLayoutName/grafiken/BG_{CATEGORY}.jpg);">LG

RalfZ

#14
Ahja, vielen Dank für die schnelle Hilfe.
Da habe ich ja noch was auszuprobieren.
Den style direkt vom template aus aufzurufen ist wohl die einfacherer Lösung von beiden.

VG RalfZ
CMS: mozilo 2.0
Hoster: 1und1
HP: www.falknerei-herrmann.de