HomeController

Der HomeController wickelt den Arbeitsprozess des CMS für die Startseite des CMS ab.

Affiliate

PHP & MySQL Schnelleinstieg Programmieren lernen in 14 Tagen (Demo) - Mit diesem Buch gelingt Ihnen der einfache Einstieg in die Webentwicklung mit PHP und MySQL. Alle Grundlagen werden in 14 Kapiteln anschaulich und leicht nachvollziehbar anhand von Codebeispielen erläutert. Übungsaufgaben am Ende der Kapitel helfen Ihnen, das neu gewonnene Wissen schnell praktisch anzuwenden und zu vertiefen.

Wichtiger Hinweis: Je nach verwendetem Werbenetzwerk, musst du hier einen geeigneten Hinweis anbringen, der dem Leser anzeigt, das du mit Affiliate-Marketing Geld verdienst (ggf. in den Teilnahmenbedingungen des betreffenden Werbepartners nachlesen).

Der HomeController der Startseite

Der HomeController regelt die Verarbeitung des CMS wenn sich der Leser auf der Startseite des Content Management Systems befindet. Er greift über das entsprechende Model auf Daten zu und wickelt die Anzeige am Browser ab.

class HomeController 
{
    function __construct() 
    {
        global $pd, $pde;
        $pages_model        = new PagesModel(str_replace('/','',CONTENT_DIR));
        $categories_model   = new CategoriesModel(CONTENT_DIR.'*');
        $index_file_content = file_get_contents(CONTENT_DIR.'index'.CONTENT_EXT);

        foreach (Dipper::parse(Page::meta($index_file_content)) as $key=>$value)
        {
            $template_token_name    = strtolower($key);
            $template_token_content = $value;
            Flight::view()->set($template_token_name, $template_token_content);
        }

        $index_content_section = $pde->text(Page::content($index_file_content));
        $index_content_section = Flight::hook('afterParseContent', $index_content_section);

        Flight::view()->set('pages',      $pages_model->pages);
        Flight::view()->set('categories', $categories_model->categories);
        Flight::view()->set('content',    $index_content_section);

        Flight::render('home');
    }
}

Version 2.4.01

In der magischen Methode __construct() wird die Verarbeitung durch dieses Script initiiert und beginnt damit, die benötigten externen Komponenten, wie Parsedown(), ParsedownExtra(), Dipper(), PagesModel() und das CategoriesModel() in den Arbeitsspeicher zu laden. Mit file_get_contents() wird der Inhalt der index.md des Content-Verzeichnis eingelesen.

Die foreach() Schleife nutzt den YAML-Parser Dipper, um die interne Struktur des Beitrags index.md in einzelne Tokens wie beispielsweise Title, Description, Author usw. aufzuteilen, dabei wird der Token-Name und der Token-Inhalt mit Flight::view() in die View kopiert, die später mit Flight::render() geladen und im Browser angezeigt wird.

Damit die View auch in der Lage ist die Beiträge unterhalb der Startseite anzuzeigen, wird pages mit einem Array aus dem PagesModel.php gefüllt, ebenso werden verfügbare Kategorien mit dem Template-Token categories in die View kopiert und konnen dann im Template nach belieben iteriert und mit HTML-Befehlen gestaltet werden.

________
FlightCMS - Das Teilen unserer Webseiten, Beiträge und Grafiken ist ausdrücklich gewollt und erwünscht. Durch das gegenseitige Verlinken, teilen wir Link-Juice und können etwas positive Reputation an dich weitergeben. Mach doch einfach mit, denn WISSEN muss allen Menschen auf diesem Planeten kostenlos zur Verfügung stehen - das Internet ist frei und gehört uns!


FlightCMS   2022-07-11   MVC Pattern Controller Home Startseite Landingpage

Beiträge

Dokumentation

Download und Installation von FlightCMS. Erster Beitrag und Kategorie. Tipps und Tricks für eigene Anpassungen

Plugins

Schreiben Sie eigene Plugins und erweitern damit die Basisfunktionen des CMS um neue individuelle Eigenschaften.

Templates

Die Entwicklung neuer Templates ist sehr einfach und Sie haben nach wenigen Minuten einen ersten Prototyp Ihrer Webseite.