Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#1 2009-10-02 18:56:38
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
[de-de] [gelöst] Wie aktuelle Kategorie in TxP-Tag einsetzen
Nachtrag: Hier die Lösung des Problems.
Nachdem meine beiden vorherigen Beiträge Bedingungen für if_category und if_article_category zusammenfassen und Wie werden TxP-Tags in PHP verwendet? in Sackgassen endeten, hier ein dritter Versuch zur vereinfachenden Lösung desselben Problems. Vielleicht finde ich ja diesmal die Art, das verständlich darzulegen.
Aus einer Liste von Variablen (in den folgenden Beispielen werden nur drei eingetragen) sollte diejenige benutzt werden, deren Name mit dem Namen der Kategorie der aktuell gezeigten Artikelliste oder des aktuell gezeigten Einzelartikels übereinstimmt, falls nicht, sollte default ausgegeben werden.
Ich versuchte das auf drei Arten zu lösen, wobei keine zu einem Ergebnis führt. Jeder Versuch ist ein Baustein:
<txp:variable name="R" value="Text R" />
<txp:variable name="S" value="Text S" />
<txp:variable name="A-default" value="Text A-default" />
<txp:if_article_list><txp:variable name="<txp:category />" /><txp:else />
<txp:if_individual_article><txp:variable name="<txp:category />" /><txp:else />
<txp:variable name="A-default" /></txp:if_individual_article></txp:if_article_list>
Oder:
<txp:variable name="R" value="Text R" />
<txp:variable name="S" value="Text S" />
<txp:variable name="A-default" value="Text A-default" />
<txp:if_category><txp:variable name="<txp:category />" /><txp:else />
<txp:if_article_category><txp:variable name="<txp:category />" /><txp:else />
<txp:variable name="A-default" /></txp:if_article_category></txp:if_category>
Oder:
<txp:variable name="R" value="Text R" />
<txp:variable name="S" value="Text S" />
<txp:variable name="A-default" value="Text A-default" />
<txp:if_category name="<txp:category />"><txp:variable name="<txp:category />" /><txp:else />
<txp:if_article_category name="<txp:category />"><txp:variable name="<txp:category />" /><txp:else />
<txp:variable name="A-default" /></txp:if_article_category></txp:if_category>
Die Idee bei diesen Versuchen ist, dass automatisch die jeweilig aktuelle Kategorie eingesetzt wird.
Es stellt sich mir die Frage, wie kann ich den Namen der aktuellen Kategorie ausgeben lassen, in je einem der Kontexte: Liste der Artikel einer Kategorie oder eines daraus geöffneten Einzelartikels.
Last edited by GugUser (2009-10-03 03:45:23)
Offline
#2 2009-10-02 19:54:47
- uli
- Moderator
- From: Cologne
- Registered: 2006-08-15
- Posts: 4,315
Re: [de-de] [gelöst] Wie aktuelle Kategorie in TxP-Tag einsetzen
Ich hab jetzt die einzelnen Bausteine nicht weiter auf Funktionsweise untersucht, aber was mir bei allen dreien sofort auffällt, ist der “Doppel”-Apostroph um <txp:category />
. Versuchs mal mit dem einzelnen, dem '
.
In bad weather I never leave home without wet_plugout, smd_where_used and adi_form_links
Offline
#3 2009-10-02 20:00:03
- uli
- Moderator
- From: Cologne
- Registered: 2006-08-15
- Posts: 4,315
Re: [de-de] [gelöst] Wie aktuelle Kategorie in TxP-Tag einsetzen
Zitat Ruud:
If you wanted the TXP tag in the attribute value to be parsed, you should write it like this:
<txp:tag key='parsed <txp:tag />' />
In bad weather I never leave home without wet_plugout, smd_where_used and adi_form_links
Offline
#4 2009-10-03 00:54:05
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] [gelöst] Wie aktuelle Kategorie in TxP-Tag einsetzen
@ uli
Endlich wieder einmal ein Lichtblick. Der Wechsel von den Tag <txp:category />
umschliessenden Gänsefüsschen zu Apostroph hat einiges bewirkt. In allen drei Baustein-Versuchen funktioniert jetzt die Textrückgabe im Falle einer Artikelliste einer Kategorie. Im zweiten Beispiel funktioniert auch default, allerdings für den Einzelartikel passiert nichts. Dem muss ich noch nachgehen. Wie es scheint, wird beim Aufruf eines Einzelartikels kein Wert für '<txp:category />'
zurück gegeben.
Deshalb erneut die Hauptfrage in diesem Beitrag: Wie kann ich den Namen der aktuellen Kategorie ausgeben lassen, in je einem der Kontexte: Liste der Artikel einer Kategorie [geklärt] oder eines daraus geöffneten Einzelartikels [Antwort noch offen].
Offline
#5 2009-10-03 01:54:11
- uli
- Moderator
- From: Cologne
- Registered: 2006-08-15
- Posts: 4,315
Re: [de-de] [gelöst] Wie aktuelle Kategorie in TxP-Tag einsetzen
GugUser wrote:
Endlich wieder einmal ein Lichtblick.
Na super! Hatte eigentlich schon mit heftig recherchierter Gegenwehr gerechnet, weil ich wieder nur einem Spontaneinfall gefolgt bin ;-)
Leg mich jetzt erst mal schlafen.
In bad weather I never leave home without wet_plugout, smd_where_used and adi_form_links
Offline
#6 2009-10-03 02:58:30
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] [gelöst] Wie aktuelle Kategorie in TxP-Tag einsetzen
Geschafft!
Die definitive Lösung – universell anwendbar! – sieht so aus:
<txp:variable name="R" value="Text R" />
<txp:variable name="S" value="Text S" />
<txp:variable name="T" value="Text T" />
<txp:variable name="U" value="Text U" />
<txp:variable name="V" value="Text V" />
<txp:variable name="A" value="Text A" />
<txp:if_category><txp:variable name='<txp:category />' /><txp:else />
<txp:if_individual_article><txp:if_article_category><txp:variable name='<txp:category1 />' /></txp:if_article_category><txp:else />
<txp:variable name="title-estandard" /></txp:if_individual_article></txp:if_category>
Das am Schluss noch bestehende Hauptproblem war der Tag '<txp:category />'
, welcher im Kontext eines Einzelartikels nichts ausgab. Auf einmal stiess ich im Textbook auf den zur Erklärung für <txp:category1 />
im Vergleich zu <txp:category />
unterschiedlichen Satz: “It will display information of the category as defined by Cat1 of the article being displayed.”
Das war’s dann.
Last edited by GugUser (2009-10-03 03:14:46)
Offline
#7 2009-10-03 03:20:21
- GugUser
- Member
- From: Quito (Ecuador)
- Registered: 2007-12-16
- Posts: 1,477
Re: [de-de] [gelöst] Wie aktuelle Kategorie in TxP-Tag einsetzen
Es geht noch einfacher!
<txp:variable name="R" value="Text R" />
<txp:variable name="S" value="Text S" />
<txp:variable name="T" value="Text T" />
<txp:variable name="U" value="Text U" />
<txp:variable name="V" value="Text V" />
<txp:variable name="A" value="Text A" />
<txp:if_category><txp:variable name='<txp:category />' /><txp:else />
<txp:if_article_category><txp:variable name='<txp:category1 />' /><txp:else />
<txp:variable name="A" /></txp:if_article_category></txp:if_category>
Und das ist die Lösung, die schon trenc hatte, ohne dass ich das feine Detail mit '<txp:category1 />'
bemerkt hätte. Tut mir leid, trenc.
Ja, da hatte ich wohl einen blinden Fleck und musste deswegen einen Riesenaufwand betreiben, um schliesslich ans selbe Ziel zu gelangen.
Offline