Fangen wir an
Als erstes erstellt man eine Sicherung der kompletten Webseite. Ich habe zwar die Einstellungen vorher in einer Testumgebung getestet, aber sicher ist sicher.
Override Erstellen
Über Erweiterungen -> Templates -> euer Template erstellt ihr ein Override von der Komponente com_content. Unter dieser Komponente sind die Einstellungen von den Kategorieblogs und der Kategorieliste gespeichert.
Kategorie anlegen
Es muss für den späteren Aufruf der Kategorieliste eine Kategorie angelegt werden. In meinem Fall nenne ich die einfach Post.
Custom Fields anlegen
Über den Menüpunkt Inhalt -> Felder legt ihr die benötigten Felder an. In meinem Fall sind das folgende:
- Autor(en) / Kontrollkästen (checkboxes)
- Produkte / Kontrollkästen (checkboxes)
- Ausgabe / Ganze Zahl (integer)
- Thematik / Text (text)
- Titel / Textbereich (textarea)
- Download / Url (url)
Beiträge schreiben
Danach kommt die Erstellung der Beiträge. Durch die Custom Fields wird dieses nun um einiges erleichtert.
Menüpunkt (Kategorieliste) anlegen
Für die Darstellung einer Kategorieliste habe ich ein neues Menü mit der Kategorieliste (Post) angelegt.
Kategorieliste (Spalten) anpassen
Nun kommt der anstrengende Teil. Ziel ist es, die Kategorieliste so anzupassen das nicht nur der Titel erscheint, sondern auch die Ausgabenummer. Zusätzlich dazu soll diese auch noch Sortierbar sein.
Override (default_articles.php) überarbeiten
Wir haben am Anfang einen Override von der Komponente com_content erstellt. Dieser Override wurde unter dem Pfad: /httpdocs/templates/EUERTEMPLATE/html/com_content/category abgelegt.
Für uns ist die Datei default.articles.php von belangen. Diese Datei ist für die Kategorieliste zuständig.
Öffnet man die default.articles.php mit einem Editor wird man erstmal ein wenig von Informationen bzw. Code erschlagen. Aber ab Zeile 124 kann man ein wenig nachvollziehen was dort passiert.
In Zeile 124 wird folgender Code aufgerufen:
<th scope="col" id="categorylist_header_title">
<?php echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'a.title', $listDirn, $listOrder, null, 'asc', '', 'adminForm'); ?>
</th>
Mit diesem Code wird der Titel in der Kategorieliste dargestellt.
Um nun die Kategorieliste um den Spaltennamen "Ausgabe" zu erweitern, tragen wir davor folgenden Code ein:
<th scope="col" id="categorylist_header_ausgabe">
<?php echo JHtml::_('grid.sort', $article->jcfields[33]->label, 'a.created', $listDirn, $listOrder, null, '_DATE', '', 'adminForm'); ?>
</th>
Die ID Nummer (in meinem Fall die 33) können Sie unter den Feldern einsehen.
Unterhalb vom Body müssen Sie noch diesen Code eintragen um die Spalte anzuzeigen:
<td headers="categorylist_header_ausgabe">
<?php echo $article->jcfields[33]->value; ?>
</td>
Fertig
Die Kategorieliste wurde um den Punkt Ausgabe erweitert und diese lässt sich zusätzlich noch sortieren.