Alle Posts im Beitrags-Loop zeigen


Lesen Sie im GetSimple CMS alle Posts und Beiträge auf der Startseite mit dem Beitrags-Loop einzeln aus, der Beitrag zeigt Ihnen wie einfach das geht.

Beitrags-Loop in GetSimple

Der so genannte Loop ist aus WordPress bekannt und soll dafür sorgen, das auf der Startseite zunächste alle oder eine gewisse Anzahl an Beiträge angelistet werden. Das GetSimple CMS macht dies leider nicht, es ist aber ganz einfach mit wenig Zeilen PHP-Code erledigt.

<?php if(!defined('IN_GS')){ die('you cannot load this page directly.'); }
/****************************************************
*
* @File:         template.php
* @Package:        GetSimple
* @Action:        Reaktor-Block-4 Theme for GetSimple CMS
*
*****************************************************/
?>
<!DOCTYPE html>
<html>
<head>

    <!-- Site Title -->
    <title><?php get_page_clean_title(); ?> &lt; <?php get_site_name(); ?></title>
    <?php get_header(); ?>
    <meta name="robots" content="index, follow" />
    <meta charset="utf-8">
    <link rel="stylesheet" href="<?php get_theme_url(); ?>/bootstrap-4-3-1-dist/css/bootstrap.min.css">

</head>
<body>

<nav class="navbar navbar-expand-lg navbar-light bg-light shadow-lg" style="box-shadow: 0px 0px 100px #000000 !important; background-color: LightSlateGray !important; color: #FFFFFF;">
<ul class="navbar-nav mr-auto mt-2 mt-lg-0">
<li class="nav-item"> <a class="nav-link text-light" href="http://greenalty.de/"> Home </a> </li>
</ul>
</nav>

<div class="jumbotron jumbotron-fluid shadow-lg">
    <div class="container -mt-5 -mb-5">
          <a class="text-dark" href="http://greenalty.de/"><h1 class="display-4"><?php get_site_name(); ?></h1></a>
          <hr class="my-6">
          <p class="lead"><?php get_page_excerpt(); ?></p>
    </div>
  </div>

<div class="container">
    <div class="row">
        <div class="col-sm">
            <h1><?php get_page_title(); ?></h1>

            <?php get_page_content(); ?>

            <hr>
            <p class="small"><?php get_page_date('F jS, Y'); ?></p>
        </div>
        <div class="col-sm">
            <?php get_component('sidebar');    ?>
            <?php get_component('tagline'); ?>
        </div>
    </div>

<?php
// === Start Loop ===
function get_content($page){  
    $path     = "data/pages";
    $thisfile = @file_get_contents('data/pages/'.$page.'.xml');
    $data     = simplexml_load_string($thisfile);
    return stripslashes(htmlspecialchars_decode($data->content, ENT_QUOTES));;
}

$data = menu_data();

foreach($data as $value) {
    echo '<a class="text-dark" href="';
    echo $value['url'];
    echo '" title="';
    echo $value['title'];
    echo '"><h1 class="display-4">';
    echo $value['title'];
    echo '</h1></a>';
    echo '<p>'.get_content($value['slug']).'</p>';
}
// === End Loop ===
?>

</div>

</body>
</html>

Code

Der wichtige Teil des Codings ist mit Loop gekennzeichnet und beinhaltet im wesentlichen eine Funktion die das XML-File (Post-File) läd, bereinigt und an den Aufrufer im Loop zurück gibt. Aufgerufen wird diese Funktion aus der Schleife foreeach($data...) die den slug ermittelt den die Funktion get_content() benötigt.

Das restliche Template besteht dann nur noch aus Layoutings im Bootstrap-CSS.


Mein Name ist 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 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

FlightCMS
2024-01-28
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
Kontakt@Oliver-Lohse.de

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.