Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#1 2010-09-28 14:54:03
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
[de-de] Frage zu live und sticky individual_article
Ich benutze eigentlich eine simple Ausgangslage
<txp:if_article_list>
<txp:article status="sticky" limit="1" form="text" />
<txp:article limit="15" form="text-kursliste" />
<txp:else />
<txp:article limit="1" form="text-einzelkurs" />
</txp:if_article_list>
In der Einzelartikel-Ansicht wird der Sticky-Artikel nicht gezeigt. Dies scheint ein bekanntes Problem zu sein, jedenfalls gemäss dem, was ich über die Forumssuche zu diesem Thema finden konnte. Z. B. dies:
txp:article on sticky individual article
In einem andern Artikel fand ich den Hinweis auf wets Plug-In wet_if_status aus dem Jahr 2007.
Hat jemand Erfahrung, ob dieses Plug-In noch aktuell ist und auch mit dem ankommenden, zukünftigen TxP funktionieren wird?
Oder, wie geht Ihr mit dem angesprochenen Problem um?
Gibt es Lösungen, die ich nicht finden/sehen kann?
Offline
Re: [de-de] Frage zu live und sticky individual_article
Ich habe bei der Einzelausgabe einfach txp:article
gedoppelt. Das Nichtzutreffende wird ignoriert:
<txp:article limit="1" form="text-einzelkurs" />
<txp:article limit="1" status="sticky" form="text-einzelkurs" />
Das ist die pragmatische Lösung (auf die man allerdings erst einmal kommen muss).
Edit: Das ist die logische Lösung (txp:article
default ist status="live"
).
Das Problem Die verschärfte Parserlogik trat bei/nach einem TXP Versionsupdate auf. Ich hatte dazu irgendwo hier etwas geschrieben.
Edit 1: Ich glaube limit="1"
ist gar nicht mehr notwendig, weil der tag kontextsensitiv erkennt, ob es eine Liste oder ein Einzelartikel ist.
Edit 2: Du solltest Deinen kompletten Code so vereinfachen können:
<txp:article status="sticky" limit="1" form="text-einzelkurs" listform="text" />
<txp:article limit="15" form="text-einzelkurs" listform="text-kursliste" />
Wenn Listenform und Einzelform bei status="sticky"
identisch sein sollen:
<txp:article status="sticky" limit="1" form="text" />
<txp:article limit="15" form="text-einzelkurs" listform="text-kursliste" />
Last edited by merz1 (2010-09-29 07:29:18)
Get all online mentions of Textpattern via OPML subscription: TXP Info Sources: Textpattern RSS feeds as dynamic OPML
Offline
#3 2010-09-28 16:42:06
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Frage zu live und sticky individual_article
Danke merz1, der doppelte Eintrag von <txp:article>
, das eine Mal mit status="sticky"
, scheint die Lösung zu sein (im unten stehenden Code-Beispiel ist die neu hinzugefügte Zeile mit ** markiert).
Das beschriebene Problem zeigte sich eigentlich nur, wenn aus “Verfassen” für einen statischen Artikel auf “Anzeigen” geklickt wurde, weil innerhalb der Website nicht auf den statischen Artikel als Einzelartikel verwiesen wird. Nun ist das aber gelöst. Es handelt sich, als eines der Beispiele, um eine solche Artikelliste-Seite. Nun kann auch der oben stehende Sticky-Artikel auch als Einzelartikel angezeigt werden, was vorher nicht funktionieren wollte.
Hier der entsprechende Code, der, so wie ich das sehe, nicht in der vereinfachten Form geschrieben werden könnte.
<div id="inhalt">
<txp:if_article_list>
<txp:article status="sticky" limit="1" form="text" />
<div id="kursliste">
<txp:variable name="hat-artikel" value='<txp:article_custom section=''<txp:section />'' status="live" limit="1" />' />
<txp:if_variable name="hat-artikel" value="">
<h3>Für <txp:section title="1" /> gibt es aktuell kein Kursangebot</h3>
<txp:else />
<txp:article limit="15" form="text-kursliste" />
</txp:if_variable>
</div>
<txp:else />
** <txp:article limit="1" status="sticky" form="text" />
<txp:article limit="1" form="text-einzelkurs" />
</txp:if_article_list>
</div>
Offline
Re: [de-de] Frage zu live und sticky individual_article
Das beschriebene Problem zeigte sich eigentlich nur, wenn aus “Verfassen” für einen statischen Artikel auf “Anzeigen” geklickt wurde, [(?)weil innerhalb der Website nicht auf den statischen Artikel als Einzelartikel verwiesen wird].
Interessanter Fall für das kommende 4.3.0 (derzeit RC).
Den “weil …” Teil habe ich geklammert, weil das nicht unbedingt (???) miteinander zusammen hängen muss/darf (Frontend/Backend).
Verstehe ich richtig:
- Artikel verfassen
- Speichern als ‘draft’
- Preview: funktioniert
- Speichern als ‘sticky’
- Anzeige: funktioniert nicht (Evtl. Fehlerursache/Backend-Bug: Weil für
status="sticky"
keine Anzeige im Frontend vorgesehen ist.)
Kein Riesending, ich würde das unter ‘bekannte Miniproblemchen’ auflisten, aber interessant :)
PS: Für die txp:variable
Konstruktion gibt es bestimmt performantere Lösungen :)
Edit: Ich habe die Liste oben nicht als Bug gemeldet, weil der Fehler so ‘Textpattern typisch’ logisch völlig richtig ist. Das Verhalten zu umgehen, wäre das Verschleiern eines Frontend-Fehlers.
Last edited by merz1 (2010-09-29 07:22:15)
Get all online mentions of Textpattern via OPML subscription: TXP Info Sources: Textpattern RSS feeds as dynamic OPML
Offline
#5 2010-09-29 11:47:29
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Frage zu live und sticky individual_article
Hallo merz1
PS: Für die txp:variable Konstruktion gibt es bestimmt performantere Lösungen :)
Welche?
Ja, deine Verstehe-ich-richtig-Liste stimmte mit dem überrein, wie es vorher war.
Ich sehe das anfangs beschriebene Verhalten durchaus als logisch begründet. Weniger logisch finde ich die nun angewendete Lösung mit den doppelten <txp:article>
. Aber wenn’s funktioniert, kann ich mich daran gewöhnen. Diesbezüglich wäre der Lernprozess eigentlich abgeschlossen. Allerdings wäre dem ein durch Komma getrennter Eintrag “live,sticky” vorzuziehen. Aber das scheint nicht möglich zu sein.
Was mich eher immer wieder neu verwirrt, oder was ich ungünstig finde, ist, dass über “Seite anzeigen” die Website in einem neuen Tab oder Fenster geöffnet wird (finde ich gut), über Vorschau aber im selben Tab oder Fenster, in dem vorher mit TxP gearbeitet wurde. Das kann dazu führen, dass dieser Tab oder dieses Fenster danach geschlossen wird, ohne dass in TxP ausgeloggt wurde.
Offline
Re: [de-de] Frage zu live und sticky individual_article
PS: Für die txp:variable Konstruktion gibt es bestimmt performantere Lösungen :)
Welche?
Das wäre hier a) off topic und b) fällt mir spontan nix ein. ( c) Ich benutze seit jeher das uralte chh_if_data txp:else
Gespann: Show a block of text only if enclosed Txp tags produce some output.)
Ja, deine Verstehe-ich-richtig-Liste stimmte mit dem überrein, wie es vorher war.
OK
Allerdings wäre dem ein durch Komma getrennter Eintrag “live,sticky” vorzuziehen.
Korrekt, aber die (knappen) Entwicklungsressourcen werden (offensichtlich) anders priorisiert.
Was mich eher immer wieder neu verwirrt, oder was ich ungünstig finde, ist, dass über “Seite anzeigen” die Website in einem neuen Tab oder Fenster geöffnet wird (finde ich gut), über Vorschau aber im selben Tab oder Fenster, in dem vorher mit TxP gearbeitet wurde. Das kann dazu führen, dass dieser Tab oder dieses Fenster danach geschlossen wird, ohne dass in TxP ausgeloggt wurde.
Lakonisch kurz: a) auch off topic, b) Tab-Verhalten des Browsers? c) mir schnuppe. Seit es die ‘echte’ Preview gibt, benutze ich nur diese.
Get all online mentions of Textpattern via OPML subscription: TXP Info Sources: Textpattern RSS feeds as dynamic OPML
Offline
Re: [de-de] Frage zu live und sticky individual_article
Still thinking about the value:
<txp:article_custom section=''<txp:section />'' status="live" limit="1" />
The tag
txp:article
is context-sensitive, which means it will grab articles from the currently viewed section/category/author, etc.
Why not use this simplified version?
<txp:article status="live" limit="1" />
Get all online mentions of Textpattern via OPML subscription: TXP Info Sources: Textpattern RSS feeds as dynamic OPML
Offline
#8 2010-09-29 14:03:08
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Frage zu live und sticky individual_article
Stimmt. Das <txp:article_custom>
stamte noch aus einer früheren Versuchsphase, wo nicht alles so geklappt hatte wie erhofft, und blieb irgendwie unbemerkt hängen. Habe das nun vereinfacht. Danke für den Tipp.
Offline
Re: [de-de] Frage zu live und sticky individual_article
Ich würde auch einmal mit txp:breadcrumb testen, um eine universellere Ausgabe von value=""
zu erreichen. Dann bekommst Du eine Kontext unabhängige Form für eine Fehlermeldung.
<txp:variable name="hat-artikel" value='<txp:article status="live" limit="1" />' />
<txp:if_variable name="hat-artikel" value="">
<h3>Für <txp:breadcrumb label="" sep="" link="0" wraptag="" /> gibt es aktuell kein Kursangebot</h3>
<!-- sep: This attribute will be renamed *separator* from the next release (4.3.0). -->
<txp:else />
<txp:article limit="15" form="text-kursliste" />
</txp:if_variable>
PS: Ich benutze z.B. für Kategorielisten als Überschrift diesen etwas altbackenen Code:
<h2 style="text-transform: capitalize;"><txp:breadcrumb label="Artikelliste – Kategorie" sep=" » " link="1" title="1" wraptag="" /> - Ergebnisseite <txp:page_url type="pg" /></h2>
Last edited by merz1 (2010-09-30 10:07:24)
Get all online mentions of Textpattern via OPML subscription: TXP Info Sources: Textpattern RSS feeds as dynamic OPML
Offline
#10 2010-09-30 13:21:14
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Frage zu live und sticky individual_article
Das gibt sicher Momente, wo das Sinn ergibt. Im von mir verwendetet Zusammenhang will ich einfach nur den Kursnamen ausgeben. Das ist auch nicht unbedingt eine Fehlermeldung, sondern ein Ersatz dafür, wenn, nach dem Text der allgemein gehaltenen Kursbeschreibung keine spezifische Kurse aufgelistet wären.
Offline
Re: [de-de] Frage zu live und sticky individual_article
Benutzt Du keine Kategorien bzw. Kategorieartikellisten?
Z.B. um das Kursangebot übergreifend zu kategorisieren?
Ich denke an Kategorien wie ‘Anfänger’, ‘Fortgeschrittene’, ‘Aufbaukurs’, ‘Übung’, etc.
Kategorielisten werden innerhalb von der Sektion ‘default’, also in Deinem Codebeispiel leer ausgegeben, wenn die Kategorie keinen Inhalt hat.
Get all online mentions of Textpattern via OPML subscription: TXP Info Sources: Textpattern RSS feeds as dynamic OPML
Offline
#12 2010-09-30 17:13:58
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] Frage zu live und sticky individual_article
Mach dir keine weiteren Gedanken zu meinem spezifischen Beispiel. Die Website funktioniert. Und die Seitenvorlage, wo das Beispiel dazu gehört, hat nichts mit der Default-Seite zu tun. Das Code-Besipiel ist ganz spezifisch auf den dafür gedachten Verwendungszweck ausgerichtet.
Offline