Bludit CMS

Bludit CMS Workbench - Codeschnipsel, um das eigene Bludit CMS anzupassen



Bludit, verwandte Beiträge II

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

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</h3>
034 <br>
035 <?php
036   $returnsArray = true;
037   $items = $page->tags($returnsArray);
038   $array = array();
039   foreach ($items as $tagKey=>$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.




Empfehlungen


Bludit 3.8.1 Anpassungen

Dieser Beitrag zeigt Ihnen meine persönlichen Anpassungen an der Startseite (home.php), der Seitenanzeige (page.php) und dem Footer (footer.php)


page.php - Meta Info aktivieren

Aktivieren Sie den Anleser für die Posts mit dem folgenden kleinen Codeschnipsel für die page.php des ausgewählten Theme.


Eigenes Bludit Theme

So steuern Sie die Templatevorgabe in Beiträgen mit dem CMS Bludit. Sie können den Tamplatenamen bei der Erstellung von Beiträgen angeben.


Bludit, verwandte Beiträge I

Teil 1 - Mit nur wenigen Handgriffen zeigen Sie verwandte Beiträge unter Ihrem Post an. Dank der excellente Dokumentation des Bludit-Projektes fast ein Kinderspiel.


Untergeordnete Posts

Strukturieren Sie Beiträge indem Sie ihnen einen führenden Beitrag zuordnen. Dies können Sie im PHP-Coding abfragen, es ist ganz einfach.




Es wurden noch keine Kommentare verfasst, sei der erste!

About

Tipps. Tricks, Snippets, Hacks und Codings zum CMS Bludit, Automad, WordPress, Joomla, GetSimple, Typesetter, Nibbleblog oder den angesagten Template Engines wie Smarty.


Impressum - Datenschutz - Copyright - RSS - Kontakt

Leser heute

2724