Page 1 of 1
(Plugin) HTML-Klotz - Spielerei möglich?
Posted: Sun Mar 18, 2007 8:24 pm
by Anitram
Ist es möglich, html-klötze so zu "modifizieren", dass sie nur bei bestimmten statischen Seiten erscheinen? Also: kann ich die Klötze an eindeutig definierte statische Seiten so heften, dass sie nur dann angezeigt werden, wenn die entsprechende statische Seite gezeigt wird?
Ich versuche gerade, s9y so umzustricken, dass viele statische Seiten zum Einsatz kommen, die unterschiedliche HTML-Klötze in den sidebars haben.

Re: (Plugin) HTML-Klotz - Spielerei möglich?
Posted: Mon Mar 19, 2007 12:03 pm
by garvinhicking
Hi!
Anitram wrote:Ist es möglich, html-klötze so zu "modifizieren", dass sie nur bei bestimmten statischen Seiten erscheinen? Also: kann ich die Klötze an eindeutig definierte statische Seiten so heften, dass sie nur dann angezeigt werden, wenn die entsprechende statische Seite gezeigt wird?
Für Kategorien könnte man dies mittels des Plugins "Seitenleisten ein/ausklappen" regeln, das klappt aber glaub ich nicht für statische Seiten.
Daher müsstest Du die Datei sidebar.tpl anpassen, damit sie ungefähr so aussieht (abhängig von deinem gewählten Theme):
Code: Select all
{foreach from=$plugindata item=item}
{if $staticpage_pagetitle == 'Statische Seite 1' AND $item.titel == 'HTML KLotz 1'}
{elseif $staticpage_pagetitle == 'Statische Seite 2' AND $item.titel == 'HTML KLotz 1'}
{elseif $staticpage_pagetitle == 'Statische Seite 2' AND $item.titel == 'HTML KLotz 2'}
{else}
<div class="serendipitySideBarItem container_{$item.class}">
{if $item.title != ""}<h3 class="serendipitySideBarTitle {$item.class}"
<div class="serendipitySideBarContent">{$item.content}</div>
</div>
{/if}
{/foreach}
Diese Datei sorgt dann dafür dass der HTML Klotz mit dem Titel "HTML KLotz 1" bei den statischen Seiten mit titel "Statische Seite 1" und "Statische Seite 2" nicht angezeigt wird, und der "HTML KLotz 2" wird zwar bei statischer seite 1 angezeigt, aber nicht bei der zweiten.
Diese IF/ELSE-Struktur musst Du dann an deine Gegebenheiten anpassen.
Viele Grüße,
Garvin
Posted: Mon Mar 19, 2007 2:01 pm
by Anitram
Garvin,
wenn das klappt.... dann bist du ein Schatz!!
Ich werde dich auf dem Laufenden halten, denn erst heute nachmittag werde ich mich mit der Bastelei weiter beschäftigen.
Kurzer Nachschlag:
es handelt sich um das Square-Template, nachzusehen hier:
http://www.weitersprech.de
Posted: Mon Mar 19, 2007 2:13 pm
by yellowled
Wo wir gerade beim Thema sind: Mich fragte neulich[tm] jemand per Email, ob es möglich sei, bei Verwendung
mehrerer HTML Nuggets die einzelnen Nuggets individuell anzusprechen.
Im Moment geht das nicht, weil den Containern lediglich classes, aber keine id zugewiesen wird. Meines Erachtens sollte es aber doch nicht allzu kompliziert sein, den Nuggets eine id zuzuweisen, indem man (z.B.) die in der Plugin-Konfiguration angegebene Überschrift (so denn eine angegeben wurde, das ist natürlich der Haken; aber wenn da keine angegeben wird, ist es halt PEBKAC) als id an den Nugget-Container vergibt, oder? Natürlich ist es denkbar, dass das unnötige Performanceprobleme im Plugin gibt, zumal die Überschrift ggf. HTML-konform umgewandelt werden müsste ... in dem Fall wäre wahrscheinlich selbst ein Zähler o.Ä. als id ausreichend.
Das Feature an sich fände ich zumindest überlegenswert
YL
Posted: Mon Mar 19, 2007 2:28 pm
by garvinhicking
Hi!
YellowLed wrote:Wo wir gerade beim Thema sind: Mich fragte neulich[tm] jemand per Email, ob es möglich sei, bei Verwendung mehrerer HTML Nuggets die einzelnen Nuggets individuell anzusprechen.
Klaro, das geht. Einfach in der sidebar.tpl auf $item.*id* verwursten (gerne auch noch mit {$item.id|@makeFilename} damit das am ende sonderzeichen ersetzt). Standardmäßig ist das nicht aktiv da dass den HTML code einfach überflüssig aufblähen würde.
Grüße,
Garvin
Posted: Mon Mar 19, 2007 2:50 pm
by yellowled
garvinhicking wrote:YellowLed wrote:Wo wir gerade beim Thema sind: Mich fragte neulich[tm] jemand per Email, ob es möglich sei, bei Verwendung mehrerer HTML Nuggets die einzelnen Nuggets individuell anzusprechen.
Klaro, das geht. Einfach in der sidebar.tpl auf $item.*id* verwursten (gerne auch noch mit {$item.id|@makeFilename} damit das am ende sonderzeichen ersetzt). Standardmäßig ist das nicht aktiv da dass den HTML code einfach überflüssig aufblähen würde.
»Einfach«, schreibt er, der Garvin. »Einfach«! Und was soll ich sagen? Der Mann hat Recht, es
ist einfach!
Code: Select all
<div class="serendipitySideBarItem container_{$item.class}" {if $item.class == 'serendipity_html_nugget_plugin'}id="{$item.class|@makeFilename}_{$item.title|@makeFilename}"{/if}>
in der sidebar.tpl des Templates tut haargenau das, was der »Kunde« wollte, denke ich. Danke
YL
Posted: Mon Mar 19, 2007 3:05 pm
by Anitram
YL, hast du mal ein Beispiel, wo du dein obiges "es ist einfach" Ergebnis zeigen kannst?

Posted: Mon Mar 19, 2007 3:10 pm
by yellowled
Anitram wrote:YL, hast du mal ein Beispiel, wo du dein obiges "es ist einfach" Ergebnis zeigen kannst?

Okay,
ich finde es
relativ einfach
Schnibbel den neuen Teil des Codes einfach auseinander, dann sieht man's:
Code: Select all
{if $item.class == 'serendipity_html_nugget_plugin'}
Wenn das auszugebende Element der Seitenleiste vom Plugin HTML Nugget erzeugt wurde ...
Code: Select all
id="{$item.class|@makeFilename}_{$item.title|@makeFilename}"{/if}
... weise ihm eine id zu, deren Name sich zusammensetzt aus serendipity_html_nugget_plugin, einem Unterstrich und dem Titel des Elements, welches in diesem Fall die in der Pluginkonfiguration angegebene Überschrift des HMTL Nuggets ist.
YL
Posted: Mon Mar 19, 2007 4:48 pm
by Anitram
Hmmm.. so einfach, wie ich dachte, ist es ja doch nicht. Vermutlich werde ich an dieser Angelegenheit noch etwas länger "basteln" und "testen" müssen...
und es fehlt da irgendwo noch ein _/if_, zumindestens stimmt mein Auszählen nicht...
Schade, dass es nicht möglich ist, Kategorien passwortgeschützt zu erstellen...
Posted: Mon Mar 19, 2007 7:18 pm
by yellowled
Anitram wrote:Hmmm.. so einfach, wie ich dachte, ist es ja doch nicht. Vermutlich werde ich an dieser Angelegenheit noch etwas länger "basteln" und "testen" müssen...
Ähm, nur so nebenbei - mein »Einwurf« hat in dem Sinne nichts mit Deinem usprünglichen Anliegen zu tun. Ich hab mich einfach mal frech eingemischt
YL
Posted: Mon Mar 19, 2007 7:55 pm
by Anitram