Entries unterschiedlich darstellen (Hintergrund)
Entries unterschiedlich darstellen (Hintergrund)
Hallo,
die Idee ist, die Entries auf der Startseite (oder auch einer Kategorie, eines users, etc, eben immer wenn mehrere entries auf einer Seite kommen) mit unterschiedlichen Hintrgrundfarben zu versehen, damit sie sich besser voneinander abheben...also so ne Art Schattierung.
Immer abwechselnd... hoffe das war verständlich. Am besten dafür wären unterschiedliche CSS-Klassen.
Wenn ich mir die entries.tpl anschaue, dann baut die ja die Seite über "foreach"-Schleifen zusammen (ich muss dazusagen, meine php-Kenntnisse sind rudimentär +g*). D.h. aber auch, jeder entry ist gleich und hat die gleichen CSS-Klassen.
Gibt´s da ne Möglichkeit, abwechselnd zusätzliche/andere CSS Klassen mitzugeben je entry so dass man die besser formatieren kann?
Danke und Grüße
Jorainbo
die Idee ist, die Entries auf der Startseite (oder auch einer Kategorie, eines users, etc, eben immer wenn mehrere entries auf einer Seite kommen) mit unterschiedlichen Hintrgrundfarben zu versehen, damit sie sich besser voneinander abheben...also so ne Art Schattierung.
Immer abwechselnd... hoffe das war verständlich. Am besten dafür wären unterschiedliche CSS-Klassen.
Wenn ich mir die entries.tpl anschaue, dann baut die ja die Seite über "foreach"-Schleifen zusammen (ich muss dazusagen, meine php-Kenntnisse sind rudimentär +g*). D.h. aber auch, jeder entry ist gleich und hat die gleichen CSS-Klassen.
Gibt´s da ne Möglichkeit, abwechselnd zusätzliche/andere CSS Klassen mitzugeben je entry so dass man die besser formatieren kann?
Danke und Grüße
Jorainbo
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Entries unterschiedlich darstellen (Hintergrund)
Hi!
Innerhalb der {foreach} schleifen kannst Du auf einen index zugreifen, und Du kannst dann prüfen ob dieser Index gerade oder ungerade ist.
Dann kannst Du die CSS-Klassen .odd und .even einfach speziell hinterlegen.
Viele Grüße,
Garvin
Innerhalb der {foreach} schleifen kannst Du auf einen index zugreifen, und Du kannst dann prüfen ob dieser Index gerade oder ungerade ist.
Code: Select all
{foreach from=$entries item="entry" name="entryloop"}
{if $smarty.foreach.entryloop.index % 2}
<div class="odd">
{else}
<div class="even">
{/if}
...
</div>
{/foreach}
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Re: Entries unterschiedlich darstellen (Hintergrund)
perfekt, genausowas habe ich gesucht...werde ich heut abend gleich mal testen, wird aber sicher funktionieren....super, vielen Dankgarvinhicking wrote:Hi!
Innerhalb der {foreach} schleifen kannst Du auf einen index zugreifen, und Du kannst dann prüfen ob dieser Index gerade oder ungerade ist.
Dann kannst Du die CSS-Klassen .odd und .even einfach speziell hinterlegen.Code: Select all
{foreach from=$entries item="entry" name="entryloop"} {if $smarty.foreach.entryloop.index % 2} <div class="odd"> {else} <div class="even"> {/if} ... </div> {/foreach}
Viele Grüße,
Garvin
Jorainbo
Re: Entries unterschiedlich darstellen (Hintergrund)
funktioniert leider bei mir nicht richtig. Wenn ich deinen Code unterhalb vongarvinhicking wrote:Hi!
Innerhalb der {foreach} schleifen kannst Du auf einen index zugreifen, und Du kannst dann prüfen ob dieser Index gerade oder ungerade ist.
Dann kannst Du die CSS-Klassen .odd und .even einfach speziell hinterlegen.Code: Select all
{foreach from=$entries item="entry" name="entryloop"} {if $smarty.foreach.entryloop.index % 2} <div class="odd"> {else} <div class="even"> {/if} ... </div> {/foreach}
Viele Grüße,
Garvin
Code: Select all
{foreach from=$entries item="dategroup"}dann hab ich zum einen massig HTML Warnungen wegen falsch geschlossenem div (frage, wo genau muss das schliessende div und das schliessende foreach hin) und zum anderen habe ich nun irgendwie alle etries doppelt und dreifach *gg* Statt meinen 12 entries zeigt er mir 78 an (alle so 5-6 mal) und die ersten ca. 15 sind schön abwechselnd schattiert, aber irgendwann hört es auf und nur noch sehr unregelmäßig sind die schattierungen drin... ???
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Entries unterschiedlich darstellen (Hintergrund)
Hi!
call: Du musst den Loopnamen für den ersten foreach loop nehmen, nicht den zweiten. Sonst würden Einträge nur für dasselbe Datum sich abwechseln!
Jorainbo: Du hast den Code anscheinend falsch eingebaut.
Viele Grüße,
Garvin
call: Du musst den Loopnamen für den ersten foreach loop nehmen, nicht den zweiten. Sonst würden Einträge nur für dasselbe Datum sich abwechseln!
Jorainbo: Du hast den Code anscheinend falsch eingebaut.
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Re: Entries unterschiedlich darstellen (Hintergrund)
Ach nee, sag bloßgarvinhicking wrote:Hi!
Jorainbo: Du hast den Code anscheinend falsch eingebaut.
Viele Grüße,
Garvin
Die Zeile aus deinem Code:
Code: Select all
{foreach from=$entries item="entry" name="entryloop"} Code: Select all
{foreach from=$entries item="dategroup"}-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Entries unterschiedlich darstellen (Hintergrund)
Hi!
Sprich, ohne dass du uns zeigst wie Dein Code aussieht (nopaste.php-q.net nutzen, bitte) können wir hier recht wenig dazu sagen, was da schief läuft
Viele Grüße,
Garvin
Das war nur ne Retourkutsche dafür, dass ich meine Zauberkugel nicht anwenden konnte.Ach nee, sag bloß)
Sprich, ohne dass du uns zeigst wie Dein Code aussieht (nopaste.php-q.net nutzen, bitte) können wir hier recht wenig dazu sagen, was da schief läuft
Nein, nicht zusätzlich. Mein Loop greift darauf zu; Du musst nur die existierenden foreaches anpassen und einen "name" vergeben, der dann als Index genutzt wird für das Odd/Even-Zählen.muss die zusätzlich in die entries.tpl nach dem ersten foreach? Also diekt nach:
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Re: Entries unterschiedlich darstellen (Hintergrund)
okay okaygarvinhicking wrote:Hi!
Das war nur ne Retourkutsche dafür, dass ich meine Zauberkugel nicht anwenden konnte.
garvinhicking wrote: Sprich, ohne dass du uns zeigst wie Dein Code aussieht (nopaste.php-q.net nutzen, bitte) können wir hier recht wenig dazu sagen, was da schief läuft![]()
=> http://nopaste.php-q.net/231760
er schreibt mir die div class=odd und even ja in den quelltext, aber er schliest die div´s nicht an der richtigen stelle und deshalb passt das irgendwie noch nicht....die ersten 4 artikel sind abwechselnd schattiert, dann kommen 3 in der gleichen farbe, dann nochmal 2 in der gleichen farbe und dann nochmal 4 in der gleichen farbe....sehr strange
Nein, nicht zusätzlich. Mein Loop greift darauf zu; Du musst nur die existierenden foreaches anpassen und einen "name" vergeben, der dann als Index genutzt wird für das Odd/Even-Zählen.
Viele Grüße,
Garvin
Danke und Grüße
Jorainbo
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Okay, die Loop-Sache hat sich innerhalb von 2 Unterschleifen in der Tat nicht bewährt. Statdessen habe ich mal versucht es mit {counter} zu machen:
http://nopaste.php-q.net/232147
Grüße,
Garvin
Okay, die Loop-Sache hat sich innerhalb von 2 Unterschleifen in der Tat nicht bewährt. Statdessen habe ich mal versucht es mit {counter} zu machen:
http://nopaste.php-q.net/232147
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
wenn ich damit richtig liege, dass nur der folgende abschnitt angepasst werden muss,
dann funzt es nicht.
bei mir werden nun alle entries hinterlegt und nur zwischendurch ist mal einer nicht hinterlegt.
mal jorainbos praxisbericht abwarten.
grüsse,
stephan
Code: Select all
{foreach from=$entries item="dategroup" name="entryloop"}
{counter name="entrycount" start=1 skip=1 assign="entrycount"}
{if $entrycount % 2}
<div class="odd">
{else}
<div class="even">
{/if}
bei mir werden nun alle entries hinterlegt und nur zwischendurch ist mal einer nicht hinterlegt.
mal jorainbos praxisbericht abwarten.
grüsse,
stephan
-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Call, kann man dein ergebnis irgendwo auf einer URL betrachten?
Grüße,
Garvin
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
ja, auf
http://www.dailyresearch.de/
(die headlines, jetzt alle grau hinterlegt)
grüsse,
stephan
css
entries.tpl
http://www.dailyresearch.de/
(die headlines, jetzt alle grau hinterlegt)
grüsse,
stephan
css
Code: Select all
.odd {
background-color: #f3f3f3;
}
.even {
background-color: #ffffff;
}Code: Select all
<!-- ENTRIES START -->
{serendipity_hookPlugin hook="entries_header" addData="$entry_id"}
{foreach from=$entries item="dategroup" name="entryloop"}
{counter name="entrycount" start=1 skip=1 assign="entrycount"}
{if $entrycount % 2}
<div class="odd">
{else}
<div class="even">
{/if}-
garvinhicking
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Die position des <div class="xxx"> musst Du auch an die Stelle legen, wo Dein einzelner Eintrag im gesamt-entries.tpl ausgegeben wird. Also als Klasse in dem Div, indem auch dein serendipity_entry body liegt.
Derzeit hast Du es oberhalb des Datums eingetragen, was halt dort ja in der Schleife nur einmal ausgegeben wird...
Leider fehlt mir etwas die Zeit dazu, das hier detailiert darzulegen.
Viele Grüße,
Garvin
Die position des <div class="xxx"> musst Du auch an die Stelle legen, wo Dein einzelner Eintrag im gesamt-entries.tpl ausgegeben wird. Also als Klasse in dem Div, indem auch dein serendipity_entry body liegt.
Derzeit hast Du es oberhalb des Datums eingetragen, was halt dort ja in der Schleife nur einmal ausgegeben wird...
Leider fehlt mir etwas die Zeit dazu, das hier detailiert darzulegen.
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/