Page 1 of 1
[GELÖST] Klasse currentpage über Smarty auf News anwenden
Posted: Fri Jul 03, 2009 1:47 pm
by antibart
Hallo,
Ich benutze für ein Projekt die Newssummary wie eine zweite Menu-Navigation. Das heisst, es wird nur der Titel in Form einer ul-liste eingeblendet. Optisch und hierarchisch identisch mit der "richtigen" Navigation.
Perfekt wäre es, wenn ich auch die Klasse currentpage in diese Pseudo-Navigation (=minimales Newsummaray-Template) übertragen könnte.
Hat jemand dafür ein Smarty-Abfrage parat?
Sowas Ähnliches wie:
Code: Select all
{foreach from=$items item=entry}
{if ermittlung der aktuellen news-url}
<ul><li><a href="{$entry->moreurl}" title="{$entry->title|escape:htmlall}" class="currentpage">{$entry->title|escape}</a></li></ul>
{else}
<ul><li><a href="{$entry->moreurl}" title="{$entry->title|escape:htmlall}" >{$entry->title|escape}</a></li></ul>
{/if}
{/foreach}
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Fri Jul 03, 2009 9:14 pm
by klenkes
Hi.
Meinst du etwas so wie hier:(im Footer)
http://www.klenk-services.de/aktuelles/
So fern die Pseudonav
nach dem Artikel kommt, ist es ganz einfach.
Im Artikeltemplate:
Code: Select all
{* Die aktuelle News-ID zuweisen, um sie im Footer zu verwenden*}
{assign var='currentnews' value=$entry->id}
In der Pseudonav-Template currentnews abfragen:
Code: Select all
{if $currentnews eq $entry->id} usw...
Oder hab ich dich komplett falsch verstanden?(müde)
Bernd
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Sat Jul 04, 2009 5:55 am
by antibart
Ja .. sowas meine ich ... nur nicht im Footer des Detailartikels sondern permanent links ... aber das dürfte doch eigentlich keine Rolle spielen .. ich probier das mal aus...
BTW
Code: Select all
<div class="clearer"></div><!-- Ich hasse diesen Scheiss... -->

Re: Klasse currentpage über Smarty auf News anwenden
Posted: Sat Jul 04, 2009 6:30 am
by antibart
Hab es mal ausprobiert. So wie ich es verstanden habe, funktioniert es leider noch nicht. Ich vermute, wie du schon andeutest, die Zuweisung der Variablen currentnews muss vor der Bedingung kommen.
Detailtemplate
Code: Select all
{assign var='currentnews' value=$entry->id}
<h3 id="NewsPostDetailTitle">{$entry->title|escape:htmlall}</h3>
{eval var=$entry->content}
{if $entry->extra}
<div id="NewsPostDetailExtra">
{$extra_label} {$entry->extra}
</div>
{/if}
Summarytemplate
Code: Select all
{foreach from=$items item=entry}
<ul>
{if $currentnews eq $entry->id}
<li><a href="{$entry->moreurl}" class="currentpage" title="{$entry->title|escape:htmlall}">{$entry->title|escape}</a></li>
{else}
<li><a href="{$entry->moreurl}" title="{$entry->title|escape:htmlall}">{$entry->title|escape}</a></li>
{/if}
</ul>
{/foreach}
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Sat Jul 04, 2009 8:20 am
by klenkes
Genauso funktioniert es bei mir, da zuerst die Detailtemplate mir der Zuweisung der Variablen verarbeitet wird, und erst danach die Template mit der Bedingung. Andersrum funktioniert es natürlich nicht.
Sonst müsste man für ein Feststellen des aktuellen Beitrags die URL bemühen... mit einem UDT... aber wie? Dafür reicht mein PHP nicht.
An einer besseren Methode wär' ich auch interessiert.
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Sat Jul 04, 2009 8:44 am
by antibart
Vielleicht das:
http://forum.cmsmadesimple.org/index.ph ... l#msg52659
.. aber erstmal genauer probieren. Bis jetzt macht es noch gar nichts. Sein Vorhaben war aber ein ähnliches wie Deines. Er wollte ein zusätzliches Menü der weitren News auf der Detailseite.
Hier nochmal eine kurze Begründung meines Vorhabens: Die News-Details enthalten nix anders als verschiedene Fotoalbums (Alben? Albata?). Die Summaries sollen zum einen als Teaser im Home-Content mit kurzbeschreibung und Vorschaufoto erscheinen, aber auch als ganz normale permanente Navigation.
Natürlich könnte ich für jede Album-kategorie eine Seite erstellen und dort das Album - Modul aufrufen. Die Teaser auf der Startseite dann manuell einfügen.
Aber viel praktischer für die Kundin wäre natürlich, wenn man alle Albums ausschließlich über das News-Modul einpflegen könnte. Dann würde mit jedem neuen Artikel (=Albumkategorie) sowohl die NAvigation als auch die Teaser auf der Startseite aktuallisiert - ganz automatisch.
Das klappt auch alles prima - bis auf diesen kleinen Schönheitsfehler mit der currentpage-Klasse.
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Sat Jul 04, 2009 5:56 pm
by klenkes
Ahh... verstehe. Das ist natürlich schon wesentlich komplexer als Nurtextsartikel.
Kann man eigentlich mit dem Plugin content_dump auf die Albums(Albii?) zugreifen? Wollte ich schon immer mal probieren.
Mit dem Album mache ich es übrigens genauso. Da gibt's auch keine eingebaut current-Funktion. album->id zuweisen - abfragen - markieren.
Würde mich interessieren, wie du es zum Schluss gemacht hast. Man steht ja früher oder später vor der selben Frage.
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Mon Jul 06, 2009 7:37 am
by antibart
klenkes wrote:
Würde mich interessieren, wie du es zum Schluss gemacht hast. Man steht ja früher oder später vor der selben Frage.
Im Moment bleibt mir leider nur die Möglichkeit, rumzutesten und immer mal hier zu gucken ob jemand einen Tipp hat. Aber ich sag bescheid. wenn ich weiter gekommen bin.
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Mon Jul 06, 2009 4:27 pm
by antibart
Vielleicht bringt es was, wenn ich es mal kurzfristig visualisiere, auch wenn es noch nicht fertig ist:
EDIT: erledigt. link gelöscht
Die obere Navigation LINKS ist nix anderes als der Content: Nämlich Newssummaries mit zwei verschiedenen Templates. Einmal links minimal nur mit dem Titel, und noch einmal etwas detailierter im Content.
Die Detailpage (wird in einer extra detailpage geöffnet) enthält dann die jeweiligen Albums einer Album-Kategorie
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Mon Jul 06, 2009 6:21 pm
by klenkes
Hi.
Hab's mir grade mal angeschaut. Wenn der entsprechende Menüpunkt nicht als aktiv markiert ist, wird's für den Betrachter echt schwierig.
Idee:
Da dein Navigationsbereich und Contentbereich horizontal positioniert sind(also li. re.), könntest du die Reihenfolge im Template tauschen, so dass der Content zuerst kommt, dann den linken violetten NAV-Bereich per position:relative; left:um Contentbreite-px; nach links verschieben! DANN würde mein Vorschlag klappen, weil zugewiesene Variable bekannt, wenn die NAV zuletzt kommt.(Also ja nur im Quelltext)
Klar?
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Mon Jul 06, 2009 9:40 pm
by cyberman
Um die Umgestaltung des Templates zu umgehen, könntest du {content} als allererstes im Template aufrufen, jedoch den Output einer Variablen zuweisen (Parameter assign). Anstelle des bisherigen Content rufst du einfach die {$variable} auf.
Re: Klasse currentpage über Smarty auf News anwenden
Posted: Tue Jul 07, 2009 7:56 am
by antibart
cyberman wrote:
Um die Umgestaltung des Templates zu umgehen, könntest du {content} als allererstes im Template aufrufen, jedoch den Output einer Variablen zuweisen (Parameter assign). Anstelle des bisherigen Content rufst du einfach die {$variable} auf.
Juchheissa! So funktioniert es !!! Daaaaaanke ...
Auch dir klenkes...
zwar wird die Klasse beim Album-Detail momentan nicht mehr ausgegeben .. aber die hat ja auch eine eigene id ... man kann halt nicht alles haben.
Re: [GELÖST] Klasse currentpage über Smarty auf News anwenden
Posted: Wed Jul 08, 2009 8:03 am
by klenkes
Au prima. Cybermans Vorgehensweise ist eine sehr galante. Gefällt mir.
Probier ich auch mal.