News-Modul: Erst Kategoriename, dann News ausgeben

Hilfe zu Modulen und Tags
Post Reply
giessener
Forum Members
Forum Members
Posts: 30
Joined: Mon Aug 18, 2008 9:50 am

News-Modul: Erst Kategoriename, dann News ausgeben

Post by giessener »

Hallo zusammen,

ich versuche herauszufinden, ob es möglich ist, beim News-Modul eine Ausgabe zu erreichen die wie folgt aussieht:

Code: Select all

<h3>Kategoriename</h3>
[schleife über alle enthaltenen News]
  Newstitel - Newscontent - Benutzerdefiniertes Feld
[/schleife]
Wichtig wäre mir, nicht in den eigentlichen Sourcecode einzugreifen, da ich dies nicht bei jedem Update wiederholen möchte.
Das browsecat-Template ist, soweit ich das sehe, ja leider nicht in der Lage auf die News zuzugreifen und in den anderen Templates kann ich zwar bei jeder News die Kategorie ausgeben, aber nicht nur einmal als Überschrift (naheliegend wäre das ja, da ich ja auch nach Kategorie sortiert ausgeben lassen kann.)

Hoffe es gibt eine Lösung und danke für die Hilfe!

Beste Grüße!
NaN

Re: News-Modul: Erst Kategoriename, dann News ausgeben

Post by NaN »

Fehlt da etwa immer noch die smarty-Variable für die Ausgabe der Kategorie?

Dazu gabs schonmal nen Thread: http://forum.cmsmadesimple.org/index.ph ... #msg112049

Ich fürchte, da wirst Du um die Modifikationen vorerst nicht herumkommen.
Sind aber zum Glück nur zwei kleine Zeilen.
giessener
Forum Members
Forum Members
Posts: 30
Joined: Mon Aug 18, 2008 9:50 am

Re: News-Modul: Erst Kategoriename, dann News ausgeben

Post by giessener »

Danke für die schnelle Antwort!
Klingt ja vielversprechend, aber es funktioniert irgendwie nicht.

Habe die zwei Zeilen in action.default.php eingefügt, jetzt steht da, rund um 381:

Code: Select all

$smarty->assign('itemcount', count($entryarray));
$smarty->assign_by_ref('items', $entryarray);
if (isset($params['category']))
  $smarty->assign('catheader', $params['category']);
$smarty->assign('category_label', $this->Lang('category_label'));
$smarty->assign('author_label', $this->Lang('author_label'));
Dann in das Zusammenfassungs-Template vor die foreach geschrieben:

Code: Select all

<!-- Start News Display Template -->
{if $pagecount > 1}
  <p>
{if $pagenumber > 1}
{$firstpage} {$prevpage} 
{/if}
{$pagetext} {$pagenumber} {$oftext} {$pagecount}
{if $pagenumber < $pagecount}
 {$nextpage} {$lastpage}
{/if}
</p>
{/if}
<div class="SpeisekarteKategorie">
	{$catheader}
</div>
{foreach from=$items item=entry}
Die Ausgabe ist, dass einmal das leere DIV ausgegeben wird und danach sämtliche Einträge der unterschiedlichen Kategorien. Der Aufruf im Seitentemplate ist ohne Parameter.

Woran könnte es liegen?

Besten Dank für die Hilfe!
giessener
Forum Members
Forum Members
Posts: 30
Joined: Mon Aug 18, 2008 9:50 am

Re: News-Modul: Erst Kategoriename, dann News ausgeben

Post by giessener »

Habe gerade entdeckt, dass, wenn ich den Aufruf mit dem Parameter "category=xy" mache, die Kategorie ausgegeben wird. Nicht aber wenn ich ohne Parameter aufrufe. Mein unglaublich raffinierter Versuch eine Oberkategorie anzulegen und dann mit "category=xy *" alle Unterkategorien auszugeben, führte lediglich dazu, dass der Name der Oberkategorie ausgegeben worden ist.
Als Workaround wäre die Variante halbwegs geeignet, glücklich bin ich damit aber nicht, da der Backend-User dann ja immer, wenn er eine neue Kategorie angelegt hat, die Inhaltsseite verändern muss um dort den Aufruf der Kategorie einzufügen.

Oder hab ich vielleicht einfach etwas falsch gemacht?
NaN

Re: News-Modul: Erst Kategoriename, dann News ausgeben

Post by NaN »

giessener wrote:
Habe gerade entdeckt, dass, wenn ich den Aufruf mit dem Parameter "category=xy" mache, die Kategorie ausgegeben wird. Nicht aber wenn ich ohne Parameter aufrufe.
Ja, sorry. Vergaß ich zu erwähnen.

giessener wrote:
Mein unglaublich raffinierter Versuch eine Oberkategorie anzulegen und dann mit "category=xy *" alle Unterkategorien auszugeben, führte lediglich dazu, dass der Name der Oberkategorie ausgegeben worden ist.
Ja, das ist in der Tat ein Problem, da die Kategorie-Überschrift davon abhängt, was als Category-Parameter angegeben wird.
D.h. es steht dann genau das als Kategorie da, was beim Modulaufruf angegeben ist.
Und ein Sternchen ist nunmal keine sinnvolle Kategorie sondern lediglich eine Art Steuerzeichen.

Wenn ich Dich richtig verstanden habe, willst Du alle Kategorien inklusive der dazugehörigen Artikel auf einer Seite anzeigen, oder?
Also in etwa so:

Oberkategorie 1

Kategorie 1
    Artikel 1
    Artikel 2
    Artikel 3
    ...

Kategorie 2
    Artikel 1
    Artikel 2
    Artikel 3
    ...
Kategorie 3
  ...

Oberkategorie 2
...

D.h. Du müsstest für jede Kategorie das News-Modul aufrufen.
Und jedesmal, wenn eine neue Oberkategorie hinzukommt, muss ein weiterer News-Aufruf in Template/Inhalt.
Mir schwebt da gerade eine Idee vor in Verbindung mit dem Parameter "browsecat".
Anstelle der News einer bestimmten Kategorie lässt Du dir alle Kategorien anzeigen.
Und im ListCategory-Template rufst Du dann das news-modul erneut auf mit der jeweils gerade angezeigten Kategorie.
Z.B.:

{foreach from=$categories item=category}
    {cms_module module="News" category="$category->name"}
{/foreach}

Oder so ähnlich.
Ist nur eine Idee. Habs noch nicht probiert.
giessener
Forum Members
Forum Members
Posts: 30
Joined: Mon Aug 18, 2008 9:50 am

Re: News-Modul: Erst Kategoriename, dann News ausgeben

Post by giessener »

Ja, das ist, was ich meine.

Komme leider erst am Donnerstag dazu es auszuprobieren, werde dann berichten!

Danke schon mal bis hierhin!
Post Reply

Return to “Module und Tags”