GetSimple the Loop

Lesen Sie im GetSimple CMS alle Posts auf der Startseite aus, der Beitrag zeigt Ihnen wie das geht.

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
// der 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>';
}
// der Loop --------------------------------------------------------------
?>

</div>

</body>
</html>

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.

CSS - Das Buch für den Webentwickler in der neuen Auflage. Hier findet sich das vollständige Wissen zu CSS und Co. in einem Band. Einsteiger erhalten eine fundierte Einführung, professionelle Webentwickler einen Überblick über alle CSS-Technologien und Praxislösungen für CSS-Layouts sowie Tipps, um aus dem täglichen Webeinerlei herauszukommen. Zahlreiche aktuelle Themen wie HTML5 und CSS3, CSS-Transitions, objektorientiertes CSS, JavaScript-Fallbacks, Responsive Webdesign mit CSS sowie viele Praxisbeipiele machen das Buch zu einem unentbehrlichen Werk für die tägliche Arbeit.

Über Amazon unterstützen

Probelesen?

© CMSWorkbench.de

about me

About me

Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Programmier-Sprachen und 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 24 Jahren arbeite ich als Entwickler in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen und seit etwa 37 Jahren im EDV-Sektor mit wechselnden Aufgaben.