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.

Inhalt

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.


FlightCMS
2024-01-28
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
0