CMS - Workbench | DE


Templating and Coding for CMS (WordPress, Bludit, Automad, Typesetter, GetSimple, Pico and more)


Verwandte Beiträge 2

Teil 2 - In diesem Beitrag zeige ich Ihnen das vollständige Coding, wie das CMS Bludit anhand von Tags verwandte Beiträge anlisten kann und als Vorschläge anzeigt.

Im ersten Teil zu dieser Beitragsreihe haben Sie ein kurzes einfaches Coding gesehen, das alle passenden Beiträge zu einem Artikel unter dem aktuellen Post anzeigt. Dieses Coding ist mit den in der Dokumentation des CMS Bludit vorgeschlagenen Codeschnipseln entstanden. Das Coding hatte allerdings noch eine Schwäche, Beiträge werden doppelt angezeigt, da sie natürlich mit mehreren Schlagwörtern auch mehrfach auftauchen - logo. Folgendes Coding soll dies beheben.

...
030  <?php $pageTemp = $page->title(); ?>
031  <br>
032  <br>
033  <h3>Empfehlungen$tagName) {
040      $tagKey = strtolower($tagName);
041      $tag = getTag($tagKey);
042      foreach ($tag->pages() as $pageKey) {
043        $page = new Page($pageKey);
044        if ($pageTemp != $page->title()) {
045          $fullString = '<p><img src='.$page->coverImage().' style="width: 120px; float: left; margin-right: 15px;">'
046                        .'<h4>'.$page->title().'</h4>'
047                        .$page->description()
048                        .'<a href='.$page->permalink().'> mehr...</a></p>';
049          $array[] = $fullString;
050        }
051      }
052    }
053    asort($array);                //das Array sortieren A oben Z unten
054    $temp = array_unique($array); // dopelte Einträge entfernen
055    foreach ($temp as $ausgabe) {
056      echo $ausgabe;
057    }
058  ?>
059  <br>
060  <br>
...

Im wesentlichen sehen Sie oben den Programmcode aus dem ersten Teil, neu dazu gekommen ist der Teil ab der Zeile 45. Die Vollständige HTML-Ausgabe wird in einer Variablen $fullString zusammengefasst. In Zeile 49 wird sie immer einem Array $array zugefügt. Zeile 53 sortiert das Array und in Zeile 54 werden doppelte Einträge entfernt, sodass die Ausgabe am Bildschirm in Zeile 56 erfolgen kann.

Aber auch hier gibt es Optimierungsbedarf. Die Vorschläge werden auch im Kontaktformular angezeigt. Jetzt könnte man sich durchaus streiten ob dies auf der Seite des Kontaktformulars sinnvoll ist oder nicht, ich persönlich finde es gar nicht so schlecht, denn dann könnte man durchaus Beiträge vorschlagen die dazu passen (vielleicht gibt es ja etwas sinnvolles). Aber auf jeden Fall störend ist die Überschrift 'Empfehlungen', die muss weg!

031  <?php if ($page->slug() != 'kontakt') { ?>
032    <br>
033    <br>
034    <h3>Empfehlungen</h3>
035    <br>
036  <?php } ?>

Das Coding oben behebt dieses Problem. Solange der Seiten-Slug (SEO-Name) nicht 'kontakt' lautet, wird der Kopf Vorschlagsliste aufgebaut. Dies reicht schon aus. Der Rest wird zwar ausgeführt, stört aber nicht wenn er doch etwas verwandtes findet - warum nicht.

Letztendlich können Sie das ganz nach Ihrem Geschmack machen.

22.11.2020 • Bludit • Verwandt Beitrag Post


Oliver Lohse - Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B.: Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 22 Jahren arbeite ich in einem grossen Softwareunternehmen in Niedersachsen. Sie sehen auf dieser Seite mein eigens für Bludit CMS entwickeltes Theme "Reaktor-Block IV".

Kontakt: Κontakt@Οliver-Lohse.de


Empfehlungen:



Festen Beitrag zeigen

Statt alle Blogbeiträge im Loop aufzulisten, können Sie auch einen ganz konkreten Beitrag anzeigen und dessen Existenz zuvor prüfen.

mehr...

Konkreten Post anzeigen

Lesen Sie feste Beiträge mit zwei Zeilen Code aus dem GetSimple CMS für fixierte Templates mit unveränderlichen Strukturen.

mehr...

Untergeordnete Posts

Die Funktion Beiträgen einen Leitartikel zu geben, gibt es schon sehr lange in Bludit, jedoch war die Anzeige im Theme "Alternative" nich möglich. Das Thema ReaktoR-4 realisiert dies nun.

mehr...

Verwandte Beiträge 1

mehr...

latest Post entfernen

mehr...



CMS Workbench

Hilfreiche Tipps, Tricks, Codings und Codeschnipsel, die im Rahmen der Entwicklung, Weiterentwicklung und Templatings zum Thema CMS immer wieder benötigt werden - aus verschiedenen Sprachdialekten wie Java, JavaScript, PHP, Python und anderen.