Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.
Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
M
Maria 06.10.2015 12:03
Seitenliste Ausgabe soll ersten Eintrag überspringen Gelöst
Hallihallo an alle!
Kurz zur Situation: auf einer Seite werden immer die neusten Artikel einer Rubrik angezeigt. Weil aber der erste Eintrag anders aussehen sollte (Vorschaubild ist größer etc.) habe ich es so gelöst, dass ich erst eine Seitenliste ausgebe, die immer nur den neusten Artikel anzeigt (mit leichten Änderungen in der Designvorlage, damit es gut aussieht) und danach zeigt eine weitere Seitenliste die 3 neusten Artikel darunter an (wieder mit leichten Änderungen in der Designvorlage).
Nun das Problem: natürlich wird so der jeweils neuste Artikel doppelt angezeigt: einmal mit der ersten Seitenleiste, wo der neuste Artikel groß hervorgehoben ist und dann nochmal als neuster von 3 Artikeln darunter. (siehe Bild im Anhang)
[undefined=undefined]
Meine PHP-Kenntnisse sind noch so gut wie nicht vorhanden, ich vermute/hoffe :angel: aber, dass es eine "einfache" Möglichkeit gibt, in der zweiten Seitenleiste anzugeben, dass man immer den neusten Artikel überspringen möchte. In der template.php für die zweite Seitenliste werden die einzelnen Artikel ja mit [undefined=undefined]<?php foreach ($pages as $page):
ausgegeben. Kann man an dieser Stelle irgendwie einbauen, dass das jeweils erste Element übersprungen werden soll?
Oh je, ich hoffe, es lacht mich keiner aus, weil ich so wenig Ahnung habe, aber gleich so ein Thema angehen will. Vielleicht überschätze ich die Schwere des Problems auch, dann geh ich mich schämen :blush: Aber vielleicht klappt es ja auch, mit ein wenig Code, den ich dann auch verstehe. :D
Vielen lieben Dank schonmal an alle, die sich meinen ewig langen Text überhaupt bis zu Ende durchgelesen haben!
Maria
Kurz zur Situation: auf einer Seite werden immer die neusten Artikel einer Rubrik angezeigt. Weil aber der erste Eintrag anders aussehen sollte (Vorschaubild ist größer etc.) habe ich es so gelöst, dass ich erst eine Seitenliste ausgebe, die immer nur den neusten Artikel anzeigt (mit leichten Änderungen in der Designvorlage, damit es gut aussieht) und danach zeigt eine weitere Seitenliste die 3 neusten Artikel darunter an (wieder mit leichten Änderungen in der Designvorlage).
Nun das Problem: natürlich wird so der jeweils neuste Artikel doppelt angezeigt: einmal mit der ersten Seitenleiste, wo der neuste Artikel groß hervorgehoben ist und dann nochmal als neuster von 3 Artikeln darunter. (siehe Bild im Anhang)
[undefined=undefined]
Meine PHP-Kenntnisse sind noch so gut wie nicht vorhanden, ich vermute/hoffe :angel: aber, dass es eine "einfache" Möglichkeit gibt, in der zweiten Seitenleiste anzugeben, dass man immer den neusten Artikel überspringen möchte. In der template.php für die zweite Seitenliste werden die einzelnen Artikel ja mit [undefined=undefined]<?php foreach ($pages as $page):
ausgegeben. Kann man an dieser Stelle irgendwie einbauen, dass das jeweils erste Element übersprungen werden soll?
Oh je, ich hoffe, es lacht mich keiner aus, weil ich so wenig Ahnung habe, aber gleich so ein Thema angehen will. Vielleicht überschätze ich die Schwere des Problems auch, dann geh ich mich schämen :blush: Aber vielleicht klappt es ja auch, mit ein wenig Code, den ich dann auch verstehe. :D
Vielen lieben Dank schonmal an alle, die sich meinen ewig langen Text überhaupt bis zu Ende durchgelesen haben!
Maria
M
Maria 09.10.2015 16:29
Hab es selbst rausgefunden (bzw. offline-Hilfe gehabt). Vielleicht hat ja der ein oder andere mal das selbe Problem, daher hier meine Lösung:
Kurz zur "Vorbereitung" Man nehme die view.php aus dem Ordner concrete/blocks/page_list und kopiere sie als erstes in blogs/page_list. In dieser view.php kann man dann ja lustig umherschreiben
Ich habe mir folgende Stelle (bei mir Zeile 11) gesucht:
[php]<?php foreach ($pages as $page):[/php]
und gegen Folgendes ersetzt:
[php]<?php $i=0;
foreach ($pages as $page) {if ($i>0):
[/php]
Außerdem muss noch die Zeile (bei mir Zeile 61, direkt über <?php if ($showRss): ?>)
[php]<?php endforeach; ?>[/php]
durch Folgendes ersetzt werden:
[php]<?php endif;$i++;}?>[/php]
Grob gesagt passiert hier Folgendes: jedes Element bekommt eine Nummer, wenn diese noch null ist, wird nichts ausgegeben. Erst, wenn die Zahl größer als null wird, wird das Element ausgegeben.
Vielleicht hilft das ja dem einen oder anderen später mal weiter :-)
LG Maria
P.S.:Trotzdem vielen Dank an alle, die sich evtl. schon Gedanken zum Problem gemacht haben!
Kurz zur "Vorbereitung" Man nehme die view.php aus dem Ordner concrete/blocks/page_list und kopiere sie als erstes in blogs/page_list. In dieser view.php kann man dann ja lustig umherschreiben
Ich habe mir folgende Stelle (bei mir Zeile 11) gesucht:
[php]<?php foreach ($pages as $page):[/php]
und gegen Folgendes ersetzt:
[php]<?php $i=0;
foreach ($pages as $page) {if ($i>0):
[/php]
Außerdem muss noch die Zeile (bei mir Zeile 61, direkt über <?php if ($showRss): ?>)
[php]<?php endforeach; ?>[/php]
durch Folgendes ersetzt werden:
[php]<?php endif;$i++;}?>[/php]
Grob gesagt passiert hier Folgendes: jedes Element bekommt eine Nummer, wenn diese noch null ist, wird nichts ausgegeben. Erst, wenn die Zahl größer als null wird, wird das Element ausgegeben.
Vielleicht hilft das ja dem einen oder anderen später mal weiter :-)
LG Maria
P.S.:Trotzdem vielen Dank an alle, die sich evtl. schon Gedanken zum Problem gemacht haben!
Nachricht hinzufügen
Sie müssen sich anmelden , um diese Konversation zu posten.