header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Lembach's nichtkommerzielle Website rund um CMSimple_XH
Templates, Plugins, Tools, Programme
und Tips und Tricks die mir wichtig sind
Sie sind hier: Startseite > Templates > fhs-basic-all > fhs-basic-all Version 2.4eu > template.htm
Letzte Bearbeitung:

Logo fhs-basic-all V. 2.0
© by Karl Richard Lembach

template.htm

Um zum einen die Kommentierung zu erleichtern und zum anderen die Steuerstrukturen einfacher nachlesbar / bearbeitbar zu machen ist die Datei weitgehend von HTML-Codierung auf PHP-Codierung umgestellt.

Dateiname: templates/fhs-basic-all2_4_2-eu/template.htm

<!DOCTYPE HTML>
<?php /*
*** fhs-basic-all Version 2.4.2 eu last modifikation 24.05.2021***
(c) 2021 by Karl Richard Lembach, https://lembach-kr.de, lembach-cmsimple.de, E-Mail siehe Kontaktformular der vorstehenden Webseiten,
Dieses Template basiert auf der Arbeit von Frank Seidel http://fhseidel.de/cmsxh/fhs-basic/.
Alle Kommentare werden in diesem Template als PHP-Kommentare implementiert. An den Browser wird nur der generierte HTML-Code ausgeliefert.
Damit wird der Umfang der Datenmenge verkleinert und somit die Ladezeit der Seite ein klein wenig verkürzt.
Das eu im Template-Namen steht für Europäische Union. Es soll damit zum Ausdruck gebracht werden, dass keine Schriften mitgeliefert werden.
Demzufolge sind nur die in Helvetica (https://de.wikipedia.org/wiki/Helvetica_(Schriftart))
und sans-serif (https://de.wikipedia.org/wiki/Grotesk_(Schrift)) enthaltenen Schriftzeichen im Template vorgesehen.
Andere Schriften lassen sich natürlich im Editor wählen.
*/
if (is_readable($pth['folder']['plugins'].'cnc/index.php')) {
die('Das Template <b>fhs-basic-all</b> ist in dieser Version nicht mehr mit dem Plugin CnC kompatibel.');
}
// if jQuery4CMSimple is installed, include its jQuery library
if (is_readable($pth['folder']['plugins'].'jquery/jquery.inc.php')) {
include_once $pth['folder']['plugins'].'jquery/jquery.inc.php';
include_jQuery();
}
// Plugin FA_XH
if (function_exists('fa_require')) {
fa_require();
} else {
echo 'Das Template "fhs-simple-all" benötigt das Fa_XH-Plugin.<br>Das Fa_XH-Plugin kann hier heruntergeladen werden: <a href="https://github.com/cmb69/fa_xh/releases" target="_blank">Download</a><br>Installieren Sie das Plugin!'."\n";
}
// Plugin Morepagedata
if (!function_exists('getPageDataFields')) {
echo 'Das Template "fhs-simple-all" benötigt das Morepagedata-Plugin.<br>Das Morepagedata-Plugin kann hier heruntergeladen werden: <a href="https://github.com/cmsimple-xh/morepagedata/releases/" target="_blank">Download</a><br>Installieren Sie das Plugin!'."\n";
}
// Plugin Slideshow
if (!function_exists('slideshow')) {
echo 'Das Template "fhs-simple-all" benötigt das Slideshow-Plugin.<br>Das Slideshow-Plugin kann hier heruntergeladen werden: <a href="https://github.com/cmb69/slideshow_xh/releases/" target="_blank">Download</a><br>Installieren Sie das Plugin!'."\n";
}
// Templateerweiterung changeFontSizeByUser
if (is_readable($pth['folder']['template'].'fontsize.inc.php')) {
include 'fontsize.inc.php';
$changeFontSize = true;
}

echo '<html lang="'.$sl.'">'."\n";
echo '<head>'."\n";
echo '<meta name="viewport" content="width=device-width, initial-scale=1">'."\n";
// *** Diesen Bereich wieder entfernen, damit die Browser die Seite wieder cashen
echo '<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />';
// *** Ende des zu löschenden Bereiches
echo head();

// *** favicon.php enthält den HTML-Code zur Festlegung der Favivons, der sich nicht ändert, auch wenn das Template ein Update erhält ***
include 'favicon.php';

// *** Benutzerdefinierte Modifikationen der stylesheet-Formate ***
echo '<link rel="stylesheet" type="text/css" href="'.$pth['folder']['template'].'usermodify.css">'."\n";

// *** Spezial - Formate nachladen, wenn die Seite im Editormodus ist, um bestimmte Formate bearbeitbar zu machen.
if (!$edit) {
echo '<link rel="stylesheet" type="text/css" href="'.$pth['folder']['template'].'stylesheet-noeditmode.css">'."\n";
}

// *** Benutzerdefinierte Aenderung der Fontgroesse
if (isset($changeFontSize)) {
echo '<link rel="stylesheet" type="text/css" href="'.$pth['folder']['template'].'fontsize.css.php" media="all" />'."\n";
}

echo "<script>
document.write('<style>#noScript { display: none; }<\/style>')
</script>\n";

// *** wenn das Plugin privacy installiert ist
if (function_exists('privacy')) {
// *** Wenn die Zustimmung zu Cookies gegeben wurde, Aufruf der cookie-perm-tools.php ***
if (privacy_agreed()) {
include 'cookie-perm-tools.php';
}
}

// *** Wenn der Variablen $MainColor2019 ein Wert zugewiesen wurde, wird der Default-Wert der stylesheet.css überschrieben ***
if (isset($MainColor2019)) {
echo '<style type="text/css">
.secHeader, .secHeader #searchform input { background: '.$MainColor2019.' }
#footer, span.footnote { border-top-color: '.$MainColor2019.' }
hr, hr.hrdot, #header, div.Headline_Fussnote { border-bottom-color: '.$MainColor2019.' }
#logoTxt {color: '.$MainColor2019.' }
</style>'."\n";
}

// *** Wenn der Variablen $MenuBGColor2021 ein Wert zugewiesen wurde, wird der Default-Wert von .secmenu li 'background' in der stylesheet.css überschrieben ***
// *** Berechnung der Hintergrundfarben im Haupt-Navigations-Menü ***
if (isset($MenuBGColor2021)) {
// umrechnen der Hex-Farbe in RGB-Werte
$color = str_replace("#", "", $MenuBGColor2021); $r = 1; $g = 2; $b = 3;
$hover = array(
$r => hexdec(substr($color, 0, 2)),
$g => hexdec(substr($color, 2, 2)),
$b => hexdec(substr($color, 4, 2))
);
if ($hover[$r]<68) $hover[$r]=68;
if ($hover[$g]<68) $hover[$g]=68;
if ($hover[$b]<68) $hover[$b]=68;
if ($hover[$r]>255) $hover[$r]=255;
if ($hover[$g]>255) $hover[$g]=255;
if ($hover[$b]>255) $hover[$b]=255;
echo '<style type="text/css">
.secmenu li a:hover { background: rgb('.$hover[$r].','.$hover[$g].','.$hover[$b].'); }
.secmenu li a { background: rgb('.($hover[$r]-34).','.($hover[$g]-34).','.($hover[$b]-34).'); }
.secmenu li span { background: rgb('.($hover[$r]-68).','.($hover[$g]-68).','.($hover[$b]-68).'); }
</style>'."\n";
}
// *** Ende der Berechnung der Hintergrundfarben im Haupt-Navigations-Menü ***

// *** Cookie-Erlaubnis abhängige Text-Formate ***
if (function_exists('privacy')) {
if (privacy_agreed()) {
echo '<style type="text/css">
p.no_cookies_text { display: none; }
p.cookies_text { display: block; }
</style>'."\n";
}
else {
echo '<style type="text/css">
p.cookies_text { display: none; }
p.no_cookies_text { display: block; }
</style>'."\n";
}
}

// *** Wenn Silbentrennung für das ganze Web / die ganze Seite aktiviert wird ***
if (($tx['template']['text3'] == 'Silbentrennung') or (isset($GlobaleSilbentrennung))) {
echo '<style type="text/css">
body { -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }
</style>'."\n";
}

// *** externe Scripte einbauen ***
if (is_readable($pth['folder']['template'].'scriptimporter.php')) {
if (isset($ScriptImporter2021)) {
include $pth['folder']['template'].'scriptimporter.php' ;
}
}

echo '</head>'."\n";
echo '<body '.onload().'>'."\n";

// *** Ausgabe vom Logo und dem Motto-Text ***
echo '<header class="row-full-width" id="header">'."\n";
echo '<div class="header-cont">'."\n";

// *** Wenn die Variable einen Wert hat, wird das Logo und/oder der Text nicht ausgegeben ***
if (!isset($keinLogoAnzeigen)) {
echo '<div id="logo"><a href="./" class="logo">&nbsp;</a></div>'."\n";
// *** Wenn die Variable einen Wert hat, wird der Text nicht ausgegeben ***
if (!isset($keinLogoTextAnzeigen)) {
echo '<div id="logoTxt">'.$tx['template']['text1'].'</div>'."\n";
}
}

echo '</div>
</header>'."\n";

// *** Nur wenn keiner eingelogt ist oder der Vorschau-Modus aktiv ist kann die Slideshow angezeigt werden ***
if (XH_ADM && !$edit || !XH_ADM) {
echo '<div class="row-full-width">'."\n";
// *** Wenn keine Slideshow angezeigt werden soll, wird der Abschnit übersprungen. ***
if (!isset($NoSlideShow)) {
// *** Wenn der Variablen $SliderFolder2019 ein Wert zugewiesen wurde wird die Slideshow mit dem dadurch festgelegten Bilderordner ausgeführt, sonst mit dem Stanard-Ordner ***
if (isset($SliderFolder2019)) {
echo slideshow($SliderFolder2019);
}
else {
echo slideshow('headerimages');
}
}
echo '</div>'."\n";
}

// *** Ausgabe Brot-Krümel-Navigation, Such-Form, Burger-Menü und Multilanguage-Flaggen ***
echo '<div class="row-full-width secHeader">'."\n";
echo ' <div class="locator">
'.$tx['locator']['text'] . ' ' . locator().'
</div>'."\n";
echo ' <div class="floatRight">'."\n";
// *** Bei floatRight wird das erste in der Reihenfolge am weitesten rechts ausgegeben, alles Folgende rückt nach links ein. ***
echo ' <div class="langSwitch">'.languagemenu().'</div>'."\n";
echo ' <div class="burger"> </div>'."\n";
echo ' <div class="searchBox">'."\n";
echo ' <form method="post" id="searchform" action="'.$sn.'">'."\n";
echo ' <input accesskey="f" title="'.$tx['search']['button'].'" id="searchfield" type="text" name="search" placeholder="&#xf002;">'."\n";
echo ' <input type="hidden" name="function" value="search"><span class="searchLabel">'.$tx['search']['button'].'</span>'."\n";
echo ' </form>'."\n";
echo ' </div>'."\n";
echo ' <div class="changeFontsize">'."\n";
print(get_fontsize_link('dec', '<span class="fa fa-minus-square-o"><span>'));
echo ' ';
print(get_fontsize_link('base', '<strong>A</strong>'));
echo ' ';
print(get_fontsize_link('inc', '<span class="fa fa-plus-square-o"></span>'));
echo ' </div>'."\n";
echo ' <div class="lastChanged"><a class="searchLabel" href="./?last-changed">__________</a></div>'."\n";
echo '</div>
</div>
</div>'."\n";
// *** Ende der Zeile unter Slideshow, Begin maincontent ***

echo '<div class="row-full-width" id="wrapper" lang="'.$sl.'">'."\n"; // *** Definition der Sprache des Inhaltes, damit die Silbentrennung funktioniert ***
echo '<nav class="secmenu c6">'.toc(); // *** <- Menüspalte links ***

// *** Zusätzliche Menüpunkte vorherige Seite und nächste Seite ***
echo '<ul class="menulevel1"><li class="doc">'.previouspage().'</li><li>'.nextpage()."</li></ul>\n";

// *** Wenn memberspages installiert ist und die Loginanzeige erfolgen soll ***
if ((is_readable($pth['folder']['plugins'].'memberpages/memberlist.php')) and (isset($MembersLogin))) {
echo '<ul class="menulevel1"><li class="doc"><div class="memberslogin"> '."\n";
echo memberslogin()."\n";
echo '</div></li></ul>'."\n";
}
echo '</nav>'."\n";

// *** Mittlere Spalte für Content und evtl. News-Boxen darunter ***
// *** Wenn die Variablen für die Newsboxen leer sind und kein Untermenü vorhanden ist, wird die Breite der mittleren Spalte auf c18 (74,938%) gesetzt. ***
// *** Ebenfalls wenn durch Anhaken der Variablen $TwoColumn2021 das Template auf 2 Spalten umgeschaltet wird. ***
// *** Dies alles gilt nur, wenn die Seite nicht im Editormodus ist und das fhs-adminmenu nicht aktiv ist!
echo '<'.'main class="maincont';
if (((!isset($NewsBox2019A)
and !isset($NewsBox2019B)
and !isset($SubmenuRight2021))
or (isset($TwoColumn2021)))
and
(!is_readable($pth['folder']['plugins'].'fhs_adminmenu/fhs_adminmenu.js')
or ($cf['editmenu']['external'] != 'fhs_adminmenu')
or (!$edit))
) {
echo ' c18';
} else {
echo ' c12';
}
echo '">'."\n";

// *** Wenn in der Bit-Maske der Variablen zum Scriptimport ein falsches Zeichen enthalten ist ***
if (isset($ImporterError)) {
echo '<p style="color: white; background-color: red; border-radius: .2em; padding: 5px; font-weight: 600;">Fehler bei der Eingabe der Bit-Maske zum Scriptimport! Von 0 und 1 abweichendes Zeichen verwendet:<br>Maske: <?=$ScriptImporter2021;?></p>'."\n";
}

// *** Wenn die Variable gesetzt ist wird das Cookie-Formular ausgegeben ***
if ((function_exists('privacy')) and (isset($Privacy2021))) {
if ($Privacy2021) {
echo privacy();
}
}

echo content();
echo '<hr>'."\n".'<p>'.previouspage().' | '.top().' | '.nextpage()."\n";

// *** Wenn das Plugin crazystat installiert ist, wird die Zählergrafik ausgegeben ***
if (function_exists('crazystat')) {
echo " | ", crazystat();
}

echo '</p>'."\n";

// *** Beginn des Bereichs News-Boxen unter dem Content ***
// *** Wenn in der rechten Spalte ein Submenu angezeigt werden soll, dann soll es nicht unter den Content angezeigt werden ***
if ((!isset($SubmenuRight2021)) or (isset($TwoColumn2021))) {
echo '<div class="submenDiv">'.submenu('<span>%s</span>').'</div>'."\n";
}
echo '<'.'aside id="newsboxes2" class="clear"';

// *** Wenn das Layout auf 2 Spalten umgeschaltet ist, sollen die Newsboxen unter den Content angezeigt werden ***
if (isset($TwoColumn2021)) {
echo ' style="display: block;"';
}

echo '>'."\n";

// *** Wenn in der rechten Spalte ein Submenu angezeigt werden soll (class 'news' um .news ul {...} erweitert), bei schmäleren Viewports alternative Position und Darstellung des Submenüs
if ((isset($SubmenuRight2021)) and (!isset($TwoColumn2021))) {
echo '<section class="news">'.submenu('%s').'</section>'."\n";
}

// *** Die News-Boxen werden mit den durch $NewsBox2019A und $NewsBox2019B festgelegten versteckten Seiten dargestellt. ***
// *** Haben die Variablen keinen Wert, werden keine News-Boxen angezeigt. Die Ausblendung erfolgt sowohl per CSS als auch durch PHP. ***
echo '<'.'div';
if (isset($TwoColumn2021)) { // *** Wenn das Template auf 2 Spalten eingestellt ist ***
echo ' class="flexContainer"'; // *** Dadurch werden die beiden Newsboxen nebeneinander ausgegeben ***
}
echo '>'."\n";
if (isset($NewsBox2019A)) {
echo '<section class="news">'.newsbox($NewsBox2019A).'</section>'."\n";
}
if (isset($NewsBox2019B)) {
echo '<section class="news">'.newsbox($NewsBox2019B).'</section>'."\n";
}
echo '</div>'."\n".'</aside>'."\n".'</main>'."\n";

// *** Beginn des Bereichs News-Boxen rechts vom Content in der 3. Spalte ***
// *** Wenn die Newsboxen nicht definiert sind und kein Untermenü vorhanden ist, wird die dritte Spalte nicht angezeigt. ***
// *** Die 3. Spalte soll jedoch angezeigt werden, wenn der Editormode aktiv ist ***
echo '<'.'aside id="newsboxes" class="c6"'."\n";
// *** Wenn keine 3. Spalte angezeigt werden soll, wird style="display: none" ausgegeben ***
if (((!isset($NewsBox2019A) and !isset($NewsBox2019B) and !isset($SubmenuRight2021)) or (isset($TwoColumn2021))) and !$edit) {
echo ' style="display: none"';
}
echo '>'."\n";

// *** alternative Position und Darstellung des Submenüs (class 'news' um .news ul {...} erweitert ***

if (isset($SnipetsBox2021) and $edit) {
echo '<section class="news">'.newsbox($SnipetsBox2021).'</section>'."\n";
}
if (isset($SubmenuRight2021)) {
echo '<section class="news">'.submenu('%s').'</section>'."\n";
}
if (isset($NewsBox2019A)) {
echo '<section class="news">'.newsbox($NewsBox2019A).'</section>'."\n";
}
if (isset($NewsBox2019B)) {
echo '<section class="news">'.newsbox($NewsBox2019B).'</section>'."\n";
}
echo '</aside>'."\n".'</div>'."\n";

// *** Beginn des Bereichs Footer ***
echo '<div class="row-full-width" id="footer">'."\n";
include 'footer.php';
echo '<div><a id="topLink" href="#"><i class="fa fa-angle-up fa-3x"></i></a></div>'."\n";
echo '<div id="noScript">'."\n".' <p>Please activate JavaScript in your browser.</p>'."\n";
echo ' <p><a href="?&amp;sitemap">&raquo; Sitemap</a></p>'."\n";
echo '</div>'."\n";

// *** Wenn das Plugin privacy installiert ist ***
if (function_exists('privacy')) {
// *** Wenn die Zustimmung zu Cookies gegeben wurde, Aufruf der cookie-permission.php ***
if (privacy_agreed()) {
include 'cookie-permission.php';
}
}
echo '<'.'script>
';
?>
// *** scroll to top ***
jQuery(document).ready(function() {
var offset = 200; // start position
var duration = 600; // scroll speed
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > offset) {
jQuery('#topLink').fadeIn(duration);
} else {
jQuery('#topLink').fadeOut(duration);
}
});
jQuery('#topLink').click(function(event) {
event.preventDefault();
jQuery('html, body').animate({scrollTop: 0}, duration);
return false;
})

// *** mobile menu ***
mobNavHeight = function () {
if ($(window).innerWidth() > 768) {
$('nav.secmenu').css({'display': 'block'});
$('.burger').addClass('active');
}
}
mobNavHeight();
$(window).resize(function () {
mobNavHeight();
});
$('.burger').click(function () {
$('nav.secmenu').fadeToggle();
$('.burger').toggleClass('active');
});
});
</script>
</body>
</html>


| Seitenanfang |