Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 26. Juni 2016 13:44
- rage_all
- kennt CMS/ms
- Ort: Augsburg
- Registriert: 09. März 2011
- Beiträge: 288
Newsmodul der 2.1.4
Hallo zusammen...
Ich hab mal wieder einen Knoten im Hirn ... dieses ganze foreach und if-then macht mich fertig.
Folgendermaßen: Ich hätte gerne News in einem Bootstrap-Tab
Dafür müssen die Daten wie folgt ausgegeben werden:
<je-news-artikel-innerhalb-einer-kategorie>
Name der Kategorie
</je-news-artikel-innerhalb-einer-kategorie>
<je-news-artikel-in-einer-kategorie>
<div id="Name der Kategorie">
<div id="Newsartikel">
...
</div><!-- eof THIS newsartikel in dieser einen Kategorie //-->
</div><!-- eof alle newsartikel in dieser einen Kategorie //-->
</je-news-artikel-in-einer-kategorie>
Zusätzliche, wichtige Funktionen wären noch:
'active'-Klasse beim ersten Artikel in der ersten Kategorie - danach nie wieder, auch wenn ich drei Kategorien hab mit nur je einem Artikel - die ja alle drei "einzig", bzw. "zuerst" in ihrer Kategorie sind. Es gibt nur eine einzige 'active' Kategorie. Punkt.
<hr> nur dann, wenn ich zwei Artikel innerhalb derselben Kategorie hab. Wenn zwei Artikel in zwei Kategorien, dann keinen <hr>.
Was ich jetzt so hab, erfüllt das alles nur halb:
Alle Artikel werden in allen Kategorien ausgegeben (wie hab ich das nur geschafft?).
Alle ersten Artikel innerhalb ihrer eigenen Kategorien haben eine 'active' Klasse.
Sobald mehr als 1 Artikel vorhanden ist, unabhängig von der Kategorie, hab ich immer den <hr>.
Irre.
Hier mal mein Template im bisherigen Ansatz:
[== Smarty ==]
{strip}
<article id="news" class="news-summary"><!-- news-summary wrapper -->
<h3>Neuigkeiten</h3>
<ul class="category-list nav nav-tabs" role="tablist">
{foreach from=$cats item='node' name='categories'}
<li role="presentation"{if $node.count == 0} class="disabled"{/if}{if $smarty.foreach.categories.first} class="active"{/if}>
{if $node.count > 0} <a href="#{$node.news_category_name}" aria-controls="{$node.news_category_name}" role="tab" data-toggle="tab">{$node.news_category_name}</a> {else} <a>{$node.news_category_name}</a>{/if}
</li>
{/foreach}
</ul>
<div class="tab-content"> {foreach from=$cats item='node' name='categories'} {foreach from=$items item='entry' name='newsitems'}
<div role="tabpanel" class="tab-pane fade{if $smarty.foreach.categories.first} active in{/if}" id="{$node.news_category_name}"><!-- wrapping each article --> {if $smarty.foreach.newsitems.first!=true}
<hr />
{/if}
<section class="news-article row">
<div class="meta col-lg-2 col-md-2 col-sm-6 col-xs-12">
<time class="date" datetime="{$entry->postdate|date_format:'%Y-%m-%d'}"> <span class="weekday"> {$entry->postdate|date_format:'%A'} </span> <span class="month"> {$entry->postdate|date_format:'%B'} </span> <span class="day"> {$entry->postdate|date_format:'%d'} </span> </time>
</div>
<!-- eof meta data //-->
<div class="newscontent col-lg-10 col-md-10 col-sm-6 col-xs-12">
<header>
<h4><a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a></h4>
</header>
{if $entry->summary}
<p>{$entry->summary|strip_tags}</p>
<span class="more">{$entry->morelink} »</span> {else if $entry->content}
<p>{$entry->content|strip_tags}</p>
{/if}
<p><small><em>Von <span class="author">{$entry->authorname}</span> erstellt, in der Kategorie <span class="category">{$entry->category}</span> </em></small></p>
</div>
<!-- eof newscontent //--> </section>
<!-- eof news-article //--> </div>
<!-- tab-pane //--> {/foreach}{* articles *} {/foreach} </div>
<!-- eof tab-content //--> </article>
<!-- eof news-summary wrapper //--> {/strip}
Kann mir bitte jemand erklären, wie ich ins Template bringen kann:
{Kategorie}
{Artikel ausschließlich innerhalb dieser Kategorie}
{/Kategorie}
Dann schaff ich vielleicht auch die count() usw. selbst hinzubekommen...
Vielen lieben Dank für Eure Mühe!
Ist wahrscheinlich nur eine Kleinigkeit, aber ich seh den Wald vor lauter Bäumen gerade gar nicht...
Offline
Seiten: 1