Contao News-Categories filtern

Damit nicht für jede News-Kategorie eine eigene Seite im Seitenbaum angelegt werden muss, ist es möglich über die Erweiterung „News-Categories“ eine dynamische Filterseite anzulegen.

Es muss lediglich folgender Codeblock im news_full.html5 Template eingefügt werden:

<?php if ($this->categories): ?>
    <h2>
      {{iflng::en}}Categories:{{iflng::de}}Kategorien{{iflng}}
    </h2>
  <ul class="categories">
    <?php foreach ($this->categories as $category): ?>
      <?php if ($category['href']): ?>
        <li class="<?php echo $category['class']; ?>">
          <a href="<?php echo $category['hrefWithParam']; ?>" title="<?php echo $category['linkTitle']; ?>"><?php echo $category['name']; ?></a>
        </li>
      <?php else: ?>
        <li class="<?php echo $category['class']; ?>">
          <span><?php echo $category['name']; ?></span>
        </li>
      <?php endif; ?>
    <?php endforeach; ?>
  </ul>
<?php endif; ?>

Im Codebeispiel von Kamil Kuzminski wird nur auf die URL der Kategorie verlinkt was in diesem Anwendungsfall immer zum gleichen Newslisting führt.

An die Leser die sich mit PHP etwas schwer tun, wie kommt man da jetzt drauf, ganz einfach. Nach Zeile #16 mal ein <?php var_dump($category); ?> einhängen und schon sieht man welche Variablen in $category stecken. Um zu sehen was noch so im Template auslesbar ist, einfach <?php $this->showTemplateVars(); ?> verwenden.