Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
[de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
Nach vergeblichen Versuchen, die abgelaufenen Artikel in einer anderen Section anzeigen zu lassen, ohne dass ich die Artikel in irgendwelcher Form nochmal “anfassen” muss (welches deshalb nicht klappte, weil dann der Inhalt per if_expired
nicht mehr zu sehen war) habe ich mich entschieden, das Archiv auf der gleichen Section anzeigen zu lassen, wo die Veranstaltungen zu finden sind. Ist zwar nicht die beste Lösung, aber wohl eine machbare.
Wenn jemand eine Lösung findet, wo abgelaufene Artikel auf einer anderen Seite zu sehen sind, ohne dass ich die url der Artikel ändern muss und die abgelaufenen Artikel sind auf der Veranstaltungen-Seite nicht mehr sichtbar, dann lasst mich das bitte wissen ;-)
Zum Verständnis kurz umrissen ist folgendes auf einer Seite:
Section-Name
Aktuelle bzw. zukünftige Veranstaltung (voll-Ansicht, auch individuelle Ansicht möglich)
(ggf. weitere aktuelle bzw. zukünftige Veranstaltung untendrunter)*
Archiv-Überschrift
Jahr
abgelaufene Veranstaltungsliste mit Datum des Veranstaltungsbeginns
Jahr
abgelaufene Veranstaltungsliste mit Datum
Edit: *Hierfür benutze ich den Tag <txp:smd_article_event />
aus dem Plugin smd_category, mit time="future"
und expired="0"
innerhalb des Tags.
Die abgelaufene Veranstaltungsliste wird eine ul-Liste. Für das jeweilige Jahr habe ich mit <txp:if_different>
gearbeitet. Da ist auch schon das Problem: die Jahresangabe ist eine Überschrift, welches dadurch eigentlich nichts in der Liste zu suchen hat. Doch wie kann ich das lösen?
Derzeit sieht es vom Code bei mir so aus:
Template:
<txp:if_article_list>
<ul>
<txp:article listform="event-past" time="past" sort="position asc" />
</ul>
</txp:if_article_list>
Im derzeit aktuellen Baustein “event-past” ist folgender Code:
<txp:if_different>
<li><h2 id='<txp:posted format="%Y" />'><txp:posted format="%Y" /></h2></li>
</txp:if_different>
<li><span class="entry-title"><txp:permlink><txp:title /></txp:permlink></span> · <span class="published"><txp:posted format="%d-%m-%Y" /></span></li>
Erfolglose Versuche: Baustein 2, da habe ich schon erfolglos versucht, eine ul einzubauen und das Jahr freizulassen:
<txp:if_different>
<h2 id='<txp:posted format="%Y" />'><txp:posted format="%Y" /></h2>
</txp:if_different>
<txp:if_first_article><ul class="directory"></txp:if_first_article>
<li><span class="entry-title"><txp:permlink><txp:title /></txp:permlink></span> · <span class="published"><txp:posted format="%d-%m-%Y" /></span></li>
<txp:if_last_article></ul></txp:if_last_article>
Das Problem hierbei ist, dass die zweite (nachfolgende) Jahresüberschrift quasi innerhalb der ul
mit verschwindet, statt dass vor dem Artikel mit dem neuen Jahr die Liste geschlossen wird und mit dem neuen Jahr eine neue Liste beginnt.
Baustein 3 eine Modifizierung des Baustein 2 wie folgt hat auch keine Besserung ergeben, da hier ebenso das Problem für das zweite nachfolgende Jahr bestand, welches dann innerhalb der ul-liste liegt (statt außerhalb):
<txp:if_different>
<h2 id='<txp:posted format="%Y" />'><txp:posted format="%Y" /></h2>
<ul class="directory">
</txp:if_different>
<li><span class="entry-title"><txp:permlink><txp:title /></txp:permlink></span> · <span class="published"><txp:posted format="%d-%m-%Y" /></span></li>
<txp:if_different>
</ul>
</txp:if_different>
Irgendwie habe ich das Gefühl, ich sehe den Wald vor lauter Bäumen nicht?
Last edited by lythande (2010-06-07 01:22:40)
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
Eine kurze Antwort, da ich gerade wenig Zeit habe und kann dies nicht testen.
Wenn jemand eine Lösung findet, wo abgelaufene Artikel auf einer anderen Seite zu sehen sind, ohne dass ich die url der Artikel ändern muss und die abgelaufenen Artikel sind auf der Veranstaltungen-Seite nicht mehr sichtbar, dann lasst mich das bitte wissen ;-)
Hier habe ich einen Ansatz erläutert in dem Du der Link zu dein Archiv etwa so ausgibst www.mydomain.com/events/?archiv=1
angibst und dann in deine Seitenvorlage für der events Sektion mit adi_gps dem URLvar archiv
ausliest. adi_gps erstellt daraus automatisch ein txp:variable und Du kannst dann mittels txp:if_variable deine Liste mit time="future"
oder time="past"
ausgeben:
<txp:adi_gps name="archiv" quiet="1" />
<txp:if_variable name="archiv" value="1">
<!-- Liste archivierte Veranstaltungen -->
<txp:else />
<!-- Liste zukünftige Veranstaltungen -->
</txp:if_variable>
Für dein zweites Problem, meine Erinnerung nach, musste es gehen mit etwas wie folgt (wider ungetestet), also immer </ul>
anzeigen es sei denn es der erste Artikel ist und analog für den letzten Artikel:
<txp:article time="past" sort="Posted asc" />
<txp:if_different>
<txp:if_first_article><txp:else /></ul></txp:if_first_article>
<h2 id='<txp:posted format="%Y" />'><txp:posted format="%Y" /></h2>
<txp:if_last_article><txp:else /><ul></txp:if_last_article>
</txp:if_different>
<li><span class="entry-title"><txp:permlink><txp:title /></txp:permlink></span> · <span class="published"><txp:posted format="%d-%m-%Y" /></span></li>
</txp:article />
Ich erinnere mich nicht mehr ob die gezeigte Variante if_different durcheinander bringt oder nicht. Falls ja, musst Du ggf. experimentieren wo sie angeordnet werden sollen.
Noch was: Damit if_different mit txp:posted funktioniert, musst Du nach “Posted” sortieren, also sort="Posted asc"
oder sort="Posted desc"
.
Last edited by jakob (2010-06-07 06:46:39)
TXP Builders – finely-crafted code, design and txp
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
Hallo Jakob,
vielen Dank für den Lösungsvorschlag mit der if_variable – den teste ich später.
Da ich gleich weg muß, daher auch nur eine kurze Antwort nach meinem Test:
jakob schrieb:
Ich erinnere mich nicht mehr ob die gezeigte Variante if_different durcheinander bringt oder nicht. Falls ja, musst Du ggf. experimentieren wo sie angeordnet werden sollen.
Leider bringt es if_different ganz schön durcheinander, die Jahresüberschrift wird für jeden Artikel ausgegeben, also auch für beide 2010-Artikel jeweils eine extra Überschrift. Immerhin wird (leider nicht für den letzten Artikel) die Artikel in eine <ul> verpackt, was du im untenstehenden Code sehen kannst.
Ich fürchte, ich verstehe deinen Tipp zum Experiment nicht: wo kann man was noch anordnen?
<h1 id='Archiv' class="section" >Archiv</h1>
<h2 id='2010'>2010</h2>
<ul>
<li><span class="entry-title"><a rel="bookmark" href="...">Title</a></span> · <span class="published">01-06-2010</span></li>
</ul>
<h2 id='2010'>2010</h2>
<ul>
<li><span class="entry-title"><a rel="bookmark" href="...">Title</a></span> · <span class="published">08-05-2010</span></li>
</ul>
<h2 id='2009'>2009</h2>
<li><span class="entry-title"><a rel="bookmark" href="...">Title</a></span> · <span class="published">05-06-2009</span></li>
Noch was: Damit if_different mit txp:posted funktioniert, musst Du nach “Posted” sortieren, also
sort="Posted asc"
odersort="Posted desc"
.
Dem if_different ist es egal, ob im Artikel sort="posted desc"
oder sort="position asc"
steht, es funktioniert in beiden Fällen. Mit sort="posted desc"
ist es eleganter gelöst, da hier schließlich auch nur das Datum die Reihenfolge bestimmen soll und ein sort="position asc"
dies durcheinander bringen kann (wurde getestet). Danke für den Hinweis! :-)
Nachtrag: nach der Möglichkeit ähnlich wie if_article_date
habe ich schon ne Ewigkeit gesucht und mit msv_if_custom_article_date
dank dir gefunden, werde ich nachher testen!
Nachtrag 2: ich habe mir das msv_if_custom_article_date
-Plugin angeschaut. Hier ist es leider notwendig, dass man in einem Customfield ein Datum eingibt. Ich finde, das ist für den Kunden zu viel, da dieser schon den richtigen Datum in den entsprechenden Zeitstempel eingeben muss und zu viel ist, dann noch dran zu denken, im Customfield das Datum auch einzugeben. Gibt es da keine andere Möglichkeit?
smd_if
habe ich auch angedacht, aber mich noch nicht dran gemacht, es mit article-date zu testen.
Last edited by lythande (2010-06-07 10:17:35)
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
In diese Post von Els meint sie es geht nur mit ein redundante ul vorne weg:
<txp:article time="past" sort="Posted desc" />
<txp:if_first_article><ul style="display:none;"></txp:if_first_article>
<txp:if_different>
</ul>
<h2 id='<txp:posted format="%Y" />'><txp:posted format="%Y" /></h2>
<ul>
</txp:if_different>
<li><span class="entry-title"><txp:permlink><txp:title /></txp:permlink></span> · <span class="published"><txp:posted format="%d-%m-%Y" /></span></li>
<txp:if_last_article><txp:else /></ul></txp:if_last_article>
</txp:article />
Dem if_different ist es egal, ob im Artikel sort=“posted desc” oder sort=“position asc” steht, es funktioniert in beiden Fällen.
Ja, es bestimmt nur die Reihenfolge.
TXP Builders – finely-crafted code, design and txp
Offline
#5 2010-06-08 02:15:08
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
Ich habe bis hierhin mitgelesen und mitgedacht und verstehe nur annähernd, um was es geht. Ich fände es hilfreich, eine Kurzversion der gewünschten XHTML-Ausgabe sehen zu können.
Mehrere Fragen bleiben mir unbeantwortet:
- Kann den Seitenentwurf schon gesehen werden?
- Woher kommen die verschiedenen Jahrestitel, durch was wird bestimmt, ob über der jeweiligen Artikelliste z. B.
<h2>2009</h2>
oder<h2>2010</h2>
steht? - Du schriebst, “Veranstaltungsliste mit Datum des Veranstaltungsbeginns”. Wo wird dieses Datum im Artikel definiert? Entspricht es dem Ablaufdatum? Falls ja, dann wäre mit
<txp:expires />
gedient. Falls nein, müsste dieses Datum halt doch aus einem benutzerdefinierten Feld kommen. - Ist vielleicht unwesentlich, aber ich verstehe auch dies nicht (am Anfang, zweite Zeile): “(…) welches deshalb nicht klappte, weil dann der Inhalt per
if_expired
nicht mehr zu sehen war”.
Auch wenn ich mit diesem Beitrag nicht helfe, könnten die Fragen eventuell zur Klärung des Denkvorganges beitragen – entweder bei mir oder bei dir.
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
GugUser schrieb:
Ich habe bis hierhin mitgelesen und mitgedacht und verstehe nur annähernd, um was es geht. Ich fände es hilfreich, eine Kurzversion der gewünschten XHTML-Ausgabe sehen zu können.
Mehrere Fragen bleiben mir unbeantwortet:
- Kann den Seitenentwurf schon gesehen werden?
nein, leider nur auf der lokalen Installation. :-(
es sollte in XHTML (leicht verkürzt (also ohne css-style-angaben) so aussehen:
<h1>Unsere Veranstaltungen</h1>
(wenn aktueller Artikel vorhanden, wird mit Variable* gesteuert:)
<h1>Titel</h1>
<p>Beginn: Datum<br />
Ende: Datum </p>
<p>Inhalt der Veranstaltung</p>
<hr>
(sonst:)
<p>Derzeit findet keine Veranstaltung statt.</p>
(wenn abgelaufener Artikel vorhanden (egal welches Jahr), dann wird aktiviert (mit Variable* gesteuert))
<h1>Archiv</h1>
(wenn Artikel aus Jahr 2010 vorhanden, dann anzeigen:)
<h2>2010<h2>
<ul>
<li><a href="url">veranstaltung4</a> <span>Start-Datum</span></li>
<li><a href="url">veranstaltung3</a> <span>Start-Datum</span></li>
</ul>
(wenn Artikel aus Jahr 2009 vorhanden, dann anzeigen:)
<h2>2009<h2>
<ul>
<li><a href="url">veranstaltung2</a> <span>Start-Datum</span></li>
<li><a href="url">veranstaltung1</a> <span>Start-Datum</span></li>
</ul>
(Ende Archiv)
(sonst:)
Keinerlei Ausgabe (Archiv ist komplett nicht sichtbar, da auch noch keine Veranstaltungen im Archiv)
*
Variable
- Woher kommen die verschiedenen Jahrestitel, durch was wird bestimmt, ob über der jeweiligen Artikelliste z. B.
<h2>2009</h2>
oder<h2>2010</h2>
steht?
Die Jahrestitel (und überhaupt das Datum) sollten als Ursprung die Jahresangabe aus dem Zeitstempel beim Verfassen des Artikels haben.
Die Frage ist eben: wie kann ich darauf zugreifen und wie kann ich eine entsprechende if-Abfrage machen, so dass dann die Artikel entsprechend einsortiert werden und die Jahrestitel entsprechend außerhalb des <txp:article />
aktiv werden, da innerhalb des <txp:article />
die ul definiert wird?
Semantisch gesehen ist für mich die Ausgabe der Artikel in einer Liste korrekter als sie nur in mehreren <p> auszugeben, daher auch die ul
-Geschichte, die das ganze so verkompliziert.
- Du schriebst, “Veranstaltungsliste mit Datum des Veranstaltungsbeginns”. Wo wird dieses Datum im Artikel definiert? Entspricht es dem Ablaufdatum? Falls ja, dann wäre mit
<txp:expires />
gedient. Falls nein, müsste dieses Datum halt doch aus einem benutzerdefinierten Feld kommen.
Veranstaltungsbeginn = <txp:posted />
Veranstaltungsende = <txp:expires />
- Ist vielleicht unwesentlich, aber ich verstehe auch dies nicht (am Anfang, zweite Zeile): “(…) welches deshalb nicht klappte, weil dann der Inhalt per
if_expired
nicht mehr zu sehen war”.
Das ist verständlich, da ich hier einen großen Teil meiner Versuche sozusagen ausgespart habe.
Am Anfang habe ich gedacht, ich kann die abgelaufenen Artikel in einer anderen Section anzeigen lassen. Somit habe ich den Code so geschrieben, dass für das Anzeigen des if_individual_article
in der Veranstaltungen-Section abgefragt wird ob der Artikel if_expired
ist oder nicht. Wenn expired
, dann soll in der Veranstaltungs-Section nichts ausgegeben werden. Dafür wird der Artikel in der Archiv-Section angezeigt if_expired
. Was ich dabei aber dann nicht beachtet habe war, dass wenn ich dann den Artikel im Archiv-Section aufgerufen habe, dass der Inhalt dessen dann wegen der immer noch gleichbleibenden Artikel-Pfades (und somit dass if_individual_article mit einem expired-Artikel) dann nichts ausgegeben wurde. Daher musste ich hier nochmal komplett umdenken und kam zur jetzigen Version.
Problematisch am Ganzen ist, dass <txp:if_expired/>, <txp:expired> und <txp:expires>
nur innerhalb des <txp:article />
funktioniert. Außerhalb des Artikel-Bausteins funktioniert <txp:if_expired/>, <txp:expired> und <txp:expires>
überhaupt nicht und Textpattern gibt eine Fehlermeldung aus, worin steht, dass es innerhalb des <txp:article />
sein muss.
Ganz grob also die erste Version:
Veranstaltungs-Seite
<txp:if_individual_article>
<txp:article section="veranstaltungen">
<txp:if_expired>
Sorry, derzeit keine Veranstaltungen!
<txp:else />
<h1><txp:title /></h1>
<txp:body />
<p>Beginn:<txp:posted /><br />
Ende: <txp:expires /></p>
</txp:if_expired>
</txp:article>
</txp:if_individual_article>
----
Archiv-Seite
<txp:if_individual_article>
<txp:article section="veranstaltungen">
<txp:if_expired>
<h1><txp:title /></h1>
<txp:body />
<p>Beginn:<txp:posted /><br />
Ende: <txp:expires /></p>
<txp:else />
(keine Ausgabe = keinerlei Anzeige)
</txp:if_expired>
</txp:article>
</txp:if_individual_article>
Auch wenn ich mit diesem Beitrag nicht helfe, könnten die Fragen eventuell zur Klärung des Denkvorganges beitragen – entweder bei mir oder bei dir.
das hoffe ich doch :-)
Offline
#7 2010-06-09 06:06:55
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
Die Basisstruktur wäre wohl folgende, wozu in den erweiterten Einstellungen “Abgelaufene Artikel veröffentlichen?” auf “ja” stehen sollte.
In die Seitenvorlage der fiktiven Sektion Veranstaltungen kommt der Code:
<txp:if_article_list>
<txp:variable name="hat-artikel" value='<txp:article_custom section=''<txp:section />'' status="live" limit="1" />' />
<txp:if_variable name="hat-artikel" value=""><p>Derzeit findet keine Veranstaltung statt.</p><txp:else />
<txp:article>
<txp:if_expired><txp:else />
<txp:if_first_article><h2>Aktuelle Veranstaltungen</h2>
<ul></txp:if_first_article>
<li><txp:title /></li>
<txp:if_last_article></ul></txp:if_last_article>
</txp:if_expired>
</txp:article>
</txp:if_variable>
</txp:if_article_list>
<txp:if_article_list>
<txp:article>
<txp:if_expired>
<txp:if_first_article><h2>Archiv der Veranstaltungen</h2>
<ul></txp:if_first_article>
<li><txp:title /></li>
<txp:if_last_article></ul></txp:if_last_article>
</txp:if_expired>
</txp:article>
</txp:if_article_list>
Darin müssten noch die Jahresverzeichnisse ausgearbeitet werden.
Selbstverständlich liesse sich das mit in einen Baustein ausgelagerten Code etwas schlanker machen.
Last edited by GugUser (2010-06-09 06:24:45)
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
jakob schrieb:
In diese Post von Els meint sie es geht nur mit ein redundante ul vorne weg…
Japp, das wars. Danke!
Ich glaube, auf diese Lösung wäre ich nie im Leben gekommen :-) Das Problem mit Jahreszahlen und ul ist also gelöst.
Nun habe ich festgestellt, dass die noch laufende Veranstaltung (am Veranstaltungstag und am morgigen Tag stattfinden) selbst dann nicht mehr in “Veranstaltungen” zu sehen ist und schon ins Archiv gewandert ist, obwohl diese Veranstaltung momentan noch läuft. Grund hierfür ist, dass in den Admin-Einstellungen “Abgelaufene Artikel veröffentlichen?” auf Ja eingestellt war und smd_article_event
mit expired="0"
damit aber dann nicht funktioniert (warum auch immer…) .
Hierzu habe ich verschiedene Lösungen gefunden, die aber alle nicht ganz das Ergebnis liefern, die ich angedacht habe.
Die 1. Lösung habe ich auch gefunden, ich muss in den Admin-Einstellungen “Abgelaufene Artikel veröffentlichen?” auf “Nein” einstellen. Im Template muss ich für beides (Veranstaltungen und Archiv) das smd_article_event
nutzen, wobei in den Veranstaltungen expired="0"
und im Archiv expired="1"
steht. Ebenso ist im Archiv-Baustein das if_expired
dazugekommen, um zu verhindern, dass momentan bzw. zukünftig laufende Veranstaltungen im Archiv angezeigt werden.
Nun möchte ich also mehr Informationen zum abgelaufenen Veranstaltung (den Veranstaltungs-Artikel direkt aufrufen) und weil ich in den Admin-Einstellungen “Abgelaufene Artikel veröffentlichen?” auf “Nein” eingestellt habe, zeigt es mir statt des zu erwarteten Inhalts eine 404-Fehlerseite an, obwohl ich für den Inhalt folgenden Code verwende:
<txp:if_individual_article>
<txp:smd_article_event section="unsere-veranstaltungen" time="all" expired="1" form="event-past-individual" sort="Posted desc" >
<txp:if_expired>
<h2><txp:section name="archiv-unsere-veranstaltungen" link="0" title="1" /></h2>
<txp:else />
</txp:if_expired>
<h1 class="entry-title" id="<txp:article_url_title />">
<txp:permlink><txp:title /></txp:permlink>
</h1>
<p>Beginn: <txp:posted format="%d.%m.%Y, %H:%M Uhr" /><br />
Ende: <txp:expires format="%d.%m.%Y, %H:%M Uhr" /></p>
<div class="entry-content">
<txp:body />
</div>
</txp:smd_article_event>
</txp:if_individual_article>
Daher rücke ich hier von dieser Möglichkeit ab, das smd_article_event
-Plugin zu verwenden. Es sei denn, ich verstehe hier etwas falsch oder ein Fehler hat sich hier eingeschlichen (oder manchmal denke ich einfach zu kompliziert…)
Im Falle der Admin-Einstellung “Abgelaufene Artikel veröffentlichen?” auf “Ja” mit smd_article_event
ohne time="future"
, werden mir alle vorhandenen Veranstaltungen samt Titel und Body angezeigt, also auch die abgelaufenen. Das geht also auch nicht.
GugUser schrieb:
- Ist vielleicht unwesentlich, aber ich verstehe auch dies nicht (am Anfang, zweite Zeile): “(…) welches deshalb nicht klappte, weil dann der Inhalt per
if_expired
nicht mehr zu sehen war”.
Der Hinweis war gut: Mir ist aufgefallen, dass ich if_expired
an gleicher Stelle im if_article_list
und im if_individual_article
verwendet hatte. Logisch, dass dann auch in der individuellen Artikel-Darstellung nichts angezeigt wurde, wenn der Artikel abgelaufen war.
Somit kam ich zu Lösung 2:
Mit der Admin-Einstellung “Abgelaufene Artikel veröffentlichen?” auf “Ja” und ohne smd_article_event
funktioniert es, habe aber dann dafür das Problem, dass abgelaufene Artikel nur versteckt sind und somit die Anzeige “Derzeit keine Veranstaltungen” über die Variable (Wenn Artikel nicht vorhanden) nicht angezeigt wird sondern nur einfach ein leeres Feld und gleich daran anschließend das Archiv. Für die Variable bedeutet das also, dass so oder so immer ein Artikel existiert(?).
Hier der Code hierzu:
<txp:if_article_list>
<txp:variable name="hat-artikel-aktuell" value='<txp:article_custom section="veranstaltungen" time="all" sort="Posted desc" form="event-future" />' />
<txp:if_variable name="hat-artikel-aktuell" value="">
<p>Derzeit finden keine Veranstaltungen statt.</p>
<txp:else />
<txp:article_custom section="veranstaltungen" time="all" sort="Posted desc">
<txp:if_expired>
<txp:else />
<h1 class="entry-title" id="<txp:article_url_title />">
<txp:permlink><txp:title /></txp:permlink>
</h1>
<p>Start: <txp:posted format="%d.%m.%Y, %H:%M Uhr" /><br />
Ende: <txp:expires format="%d.%m.%Y, %H:%M Uhr" /></p>
<div class="entry-content">
<txp:body />
</div>
</txp:article>
</txp:if_variable>
</txp:if_article_list>
PS: Sorry, ich habe so lange an diesem Feedback gearbeitet, dass du, GugUser, in der Zwischenzeit mit einem ähnlichen Code geantwortet hattest. Vielen Dank. Allerdings nutze ich für den oberen Teil (Veranstaltungen) eine andere Ausgabe des Artikelinhaltes und die Überschrift “Aktuelle Veranstaltungen” soll immer sichtbar sein, egal ob veranstaltungen vorhanden sind oder nicht. Wo hingegen die Überschrift “Archiv” ausgeblendet werden soll, wenn kein Archiv-Inhalt vorhanden ist. Bist du dir sicher, dass if_variable
korrekt arbeitet, auch wenn mit if_expired
der Inhalt nur ausgeblendet ist?
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
lythande schrieb:
Bist du dir sicher, dass
if_variable
korrekt arbeitet, auch wenn mitif_expired
der Inhalt nur ausgeblendet ist?
Ich habe das mal ohne if_expired
getestet: tatsächlich erscheinen dann die Artikel, die im Grunde versteckt sein sollten. if_variable
funktioniert also nicht in Verbindung mit if_expired
und gibt kein Alternatives Text aus, wenn Artikel mit if_expired
versteckt werden. Weil für if_variable
gibt es selbst mit if_expired
weiterhin eine Artikel-Ausgabe mit lediglich verstecktem Inhalt.
Was tun?
mit <txp:article time="future" />
lasse ich nur zukünftige Veranstaltungen anzeigen, aber nicht die, die im Moment aktiv sind. Aber genau diese Veranstaltungen, die im Moment laufen, muss ich ebenso anzeigen können.
Wenn beide Veranstaltungstypen (future und momentan) nicht vorhanden sind, dann soll der alternative Text (“derzeit keine Veranstaltungen”) erscheinen.
Ob alte Veranstaltungen mit if_expired
versteckt werden, sei mal dahingestellt. Jedenfalls sollen sie nicht in “Aktuelle Veranstaltungen” angezeigt werden.
Offline
#10 2010-06-15 15:11:29
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
lythande:
Falls es unterdessen eine Lösung geben sollte, würde es mich interessieren, diese kennenlernen zu können.
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
Hallo GugUser,
in dem Sinne habe ich noch keine Lösung gefunden, die automatisch abläuft. Hier die manuelle:
Nutzung von if_expired
in diversen Article-Forms und in den erweiterten Einstellungen “Abgelaufene Artikel veröffentlichen?” auf “ja”
gestellt, ohne if_variable
-Nutzung, da sie in diesem Zusammenhang ja nichts nützt.
Die Artikel, welche den Text darstellt, der angezeigt werden soll, wenn keine Veranstaltungen stattfinden, ist auf sticky gesetzt und wird immer dann aktiviert (veröffentlicht auf Sticky/Fixiert, sonst Status Versteckt), wenn keine Veranstaltungen laufen bzw. expired
sind.
In den externen Veranstaltungen werden die Artikel zwar mit if_expired
ausgeblendet, wenn sie abgelaufen sind, aber werden bei direktaufruf dennoch wieder gezeigt (da die Einstellung “Abgelaufene Artikel veröffentlichen?” auf “Ja” gesetzt ist), so dass manuell diese abgelaufenen Artikel der Status von “Live” auf “Versteckt” gesetzt werden muss (oder gelöscht).
Ich wollte eine Lösung, die erstmal funktioniert, auch wenn es noch nicht so ganz das ist, was ich wollte. Möglicherweise gibt es hier und da Lösungen (calendar-Plugins), die zu testen sind und mir die Zeit dazu aber fehlt.
Das smd_calendar-Plugin fällt schon mal leider raus. Vielleicht hat jemand hier in der Runde eine weitere Idee oder Hinweis?
Die Möglichkeit, expired
im <txp:article />
-Baustein einzubauen wird derzeit schon hier diskutiert. Inwieweit dies bald realisiert wird, steht noch in den Sternen. Das würde diese ganze Geschichte schon deutlich vereinfachen.
(Tja, die Nachfrage steigt ;-)
Last edited by lythande (2010-06-15 21:23:24)
Offline
Re: [de-de] Archiv erstellen mit (zeitlich) abgelaufenen Artikeln
Hallo GugUser,
es ist nun einige Zeit vergangen. Die Seite, für die dieses Problem zu lösen war, ist nun auch seit längerem online.
Dort auf der rechten Seite ist das Archiv, so wie sie mit der momentanen Lösung umgesetzt ist.
Ich muss echt noch überlegen, was ich tun werde, wenn es zu viele Archiv-Artikel-Links werden.
Mir schwebt so etwas in der Richtung vor, dass das betreffende Jahr angeklickt und dann erst die Artikel angezeigt werden. Aber ich schätze, mit der momentanen Lösung ist das nicht machbar.
Die andere Alternative wäre, älter als 2 Jahre alte Artikel einfach herauszunehmen.
lg Lythande
Offline