Freetag Sidebar Template: Alle Tags ausgeben?

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
serotonic
Regular
Posts: 89
Joined: Wed Feb 08, 2006 6:06 pm

Freetag Sidebar Template: Alle Tags ausgeben?

Post by serotonic »

Hallo,

ich versuche, in der Sidebar alle existierenden Keywords ausgeben zu lassen. Dafür habe ich eine plugin_freetag.tpl angelegt, weiß aber nur, wie ich eintragsspezifische Tags abfrage.

Das Template sieht derzeit so aus:

Code: Select all

             		<ul class="tags">
         			  {foreach from=$entry.freetag.tags.tags item="tag"}
        		  		<li>{$tag}</li>
  		        	{/foreach}
            		</ul>
So werden auch brav die Tags der jeweiligen Einträge/Eintragsübersichten ausgegeben – ich bräuchte jedoch alle Keywords, kontextunabhängig und Entry-übergreifend.

Hat jemand eine Idee, wie die Abfrage dafür aussehen müsste?

Danke + Grüße! :mrgreen:
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by yellowled »

serotonic wrote:ich versuche, in der Sidebar alle existierenden Keywords ausgeben zu lassen.
Öhm ... einfach das entsprechende Seitenleisten-Plugin zu verwenden ist keine Option?

YL
serotonic
Regular
Posts: 89
Joined: Wed Feb 08, 2006 6:06 pm

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by serotonic »

Die automatische Ausgabe des Seitenleistenplugins würde ich nur als allerletzte Möglichkeit nutzen wollen: Die komma- oder br-separierte Liste lässt sich allein der Inline-Styles wegen nur unsauber per CSS zur gewollten Optik verbiegen. Ich würde ungern die serendipity_event_freetag.php selber editieren müssen, erfahrungsgemäß habe ich beim nächsten Update vergessen, dass es etwas zu editieren gab. Außerdem stehe ich halt völlig auf Semantik ;)

Meint: Irgendwie würde es schon gehen, aber ich würde einer sauberen, semantischen Lösung gerne den Vorzug geben – sofern es da eine Möglichkeit gibt.

Edit:
Nur, damit keine Unklarheiten entstehen: Ich verwende das Freetag-Seitenleistenplugin, würde halt nur gerne die Template-Option anstatt die automatische Ausgabe nutzen.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by garvinhicking »

Hi!

{$entry} hat immer nur Bezug auf den aktellen Eintrag. Du musst konkret das Array {$tags} durchwandern. Mit {$tags|@print_r} solltest Du die Struktur einsehen können damit Du weißt wie Du foreach-loopen kannst.

LG,
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/
serotonic
Regular
Posts: 89
Joined: Wed Feb 08, 2006 6:06 pm

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by serotonic »

Hallo! ;)

{$tags|@print_r} gibt mir nur eine Auflistung der vorhanden Tags aus:

Code: Select all

Array
(
    [TagXY] => Array
        (
            [count] => 2
            [href] => http://url.de/folder/plugin/tag/TagXY
        )
… usw …
)
1
Da finde ich leider für mich keinen strukturellen Ansatz?

LG!
serotonic
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by yellowled »

serotonic wrote:Außerdem stehe ich halt völlig auf Semantik ;)
Diesem Forum fehlt eindeutig ein „An mein Herz!“-Smiley. :D

YL
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by garvinhicking »

Hi!

Jo, genau. Mal das s9y Buch zum Thema "Arrays" lesen!

<ol>
{foreach from=$tags item="einzeltagdaten" key="einzeltagname"}
<li>{$einzeltagname}</li>
{/foreach}
</ol>

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/
serotonic
Regular
Posts: 89
Joined: Wed Feb 08, 2006 6:06 pm

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by serotonic »

Hallo Garvin,

jarwoll, gelesen und nachvollzogen, aber offensichtlich nicht wirklich verstanden:

Code: Select all

             		<ul class="tags">
         			  {foreach from=$tags item="tag" key="tag"}
        		  		<li>{$tag}</li>
  		        	{/foreach}
            		</ul>
Gibt jetzt alle Tags überall aus, nur stehe ich immer noch auf dem Schlauch, wie ich hier den zum {$einzeltagname} passenden href-Teil aus $tags herausquetsche.

Zwar habe ich mir jetzt an allen Stellen alle möglichen Arrays testweise ausgeben lassen, stehe aber immer noch mit dem Kopf vor der Wand, was die Struktur angeht, bzw. wo ich ansetzen müsste. Hast du vielleicht noch einen Tipp für mich?


----------------------------------------------
yellowled: :mrgreen:
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by garvinhicking »

Hi!

Wo ist das Problem mit meinem Beispielcode? In deinem setzt Du zweimal $tag. Das geht so natürlich nicht, Du überschreibst die eine Variable mit der anderen. Keys und Values sind was anderes, schlag nochmal nach ;)

LG,
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/
serotonic
Regular
Posts: 89
Joined: Wed Feb 08, 2006 6:06 pm

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by serotonic »

Hallo!

Das Problem liegt einen Schritt davor; wahrscheinlich habe ich einfach zu wenig Vorwissen, auf das ich ausetzen könnte. Die Lücke ist wie gesagt da, dass ich mit {$tags|@print_r} zwar sehe, was {$tags} konkret ausgiebt, aber keinen strukturellen Ansatz. Ich verstehe also noch nicht, wo ich hernehmen soll, wie die (um beim Buch zu bleiben) Schubladen und/oder beschriftet sind. Ich erfahre durch {$tags|@print_r} also, was drin ist, übersehe aber offensichtlich, was drauf steht.

Ich habe die Seiten zum Thema schon ziemlich genau gelesen und den Unterschied zwischen Values und Keys verstanden; mir fehlt nur leider hier das WOHER der Bezeichnungen, und daher habe ich mich einfach entschlossen, einen Zwischenstand wiederzugeben, von dem ich zwar weiß, dass er nicht richtig ist, der mir aber wenigstens etwas in der Richtung, in die ich hinwill, ausgiebt. Und das war für mich schon ein Fortschritt ;)

LG,
serotonic
serotonic
Regular
Posts: 89
Joined: Wed Feb 08, 2006 6:06 pm

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by serotonic »

Ok, ok, ich hatte soeben hervoragende Nachhilfe zum Thema Arrays und etwas mehr Grundwissen eingeimpft bekommen. Das hat mich in die Lage versetzt, deinen Code tatsächlich 1:1 zu übernehmen ;)

Das einzige, was noch fehlte, war der Link zum Tag, und damit ist

Code: Select all

             		<ul class="tags">
             		  {foreach from=$tags item="einzeltagdaten" key="einzeltagname"}
             		    <li><a href="{$einzeltagdaten.href}">{$einzeltagname}</a></li>
             		  {/foreach}
             		</ul>
so ziemlich genau das, was ich gesucht habe.

Vielen Dank für deine Hilfe – und deine Geduld!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Freetag Sidebar Template: Alle Tags ausgeben?

Post by garvinhicking »

Zum Glück gab es jemand noch geduldigeren zum Aushilfe geben. Wenn Du es jetzt nämlich immer noch nicht verstanden hättest, wäre ich verpflichtet gewesen dich an die Wand zu klatschen!

(P.S.: Aus archivarischen Gründen: Alles nur Spaß, ich weiß wo serotonic parkt. ;-) )
# 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/
Post Reply