Page 1 of 1

In der index.tpl auf $plugindata zugreifen

Posted: Sun May 18, 2014 5:38 pm
by niffchen
Hallo,

ich habe mal wieder eine etwas spezielle Frage.
Ich versuche Teile aus der sidebar.tpl in andere Teile meiner Seite zu integrieren.
Im speziellen Fall versuche ich die Links zu den Kategorien (serendipity_categories_plugin) an einer anderen Stelle einzubauen.

Ich habe mir also den Code aus der sidebar.tpl genommen und ganz simpel gedacht, daß ich sie mir an der gedachten Stelle in der index.tpl einbaue. Aber anscheinend ist zu dem Zeitpunkt $plugindata noch ohne Inhalt oder von dort gar nicht zugreifbar. Kann der folgende Code in der index.tpl überhaupt funktionieren:

Code: Select all

{foreach from=$plugindata item=item}
{if $item.class == "serendipity_categories_plugin"}<li>{$item.content}</li>{/if}
{/foreach}
Vielleicht habt Ihr auch für diesen Fall sachdienliche Hinweise, was ich mal wieder für einen Denkfehler habe :-(

Vielen Dank und Gruß,
Jens

Re: In der index.tpl auf $plugindata zugreifen

Posted: Mon May 19, 2014 11:54 am
by garvinhicking
Hi!

Nein, kann er nicht, da die Variable fehlt. Du musst über eine config.inc.php oder so deines Templates dafür sorgen, die Daten zu kriegen, die in $plugindata stehen würden. Dafür musst Du dir den workflow angucken der derzeit die sidebar.tpl parsed und ausgibt.

Grüße,
Garvin

Re: In der index.tpl auf $plugindata zugreifen

Posted: Mon May 19, 2014 1:44 pm
by niffchen
Danke Dir, Garvin!

Es hat mir zwischendurch keine Ruhe gelassen, so daß ich selber ein bisschen weiter herumexperimentiert habe.
Ich war jetzt in meinen Tests auch schon soweit, daß ich mit der "showPlugin" Funktion gearbeitet habe.
Der kann man, zumindest habe ich daß den Funktionen und dem API-Aufruf entnommen, ein Template mitgeben. Bis hierhin funktioniert das auch, aber wie lauten die Variablennamen, wenn ich in meinem Template die Daten abgreifen und entsprechend designen möchte?

Sachen wie "$item.title" und "$item.content" scheinen es nicht zu sein ... oder habe ich da schon wieder einen Denkfehler?
Ich habe das erstellte tpl-File im Ordner meines Templates abgelegt und der Funktion "template="name.tpl'" übergeben:

Code: Select all

{serendipity_showPlugin class="serendipity_categories_plugin" template="plugin_custom_categories.tpl"}
Gruß,
Jens

Re: In der index.tpl auf $plugindata zugreifen

Posted: Mon May 19, 2014 4:01 pm
by niffchen
Vergiss meinen letzten Einwand, ich weiß nicht wo ich mit meinen Gedanken war!
Einfach die sidebar.tpl kopiert, den Output etwas im HTML angepasst bzw. den Title weg gelassen und schon paast es.

Dann habe ich noch in der "plugin_internal.inc.php" den style bei den Links der Kategorien entfernt, damit mein Style aus der CSS-Datei zu 100% zieht und schon passt es.

War alles am Ende doch leichter als ich dachte :)
Danke für die Hilfe!

Gruß,
Jens