Zum Hauptinhalt springen

Theme bauen: Praxisbeispiel Mini-Theme

Ziel: ein minimales, aber vollständig funktionierendes Theme

1. base.tpl

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <title>{$title} - {$cms_title}</title>
  <link rel="stylesheet" href="{$base_url}/assets/css/style.css">
</head>
<body>
  <header><a href="{$base_url}">{$cms_title}</a>{$position_nav}</header>
  <main>{block content}{/block}</main>
  <footer>&copy; {$cms_title}</footer>
</body>
</html>

2. single.tpl (generischer Fallback)

{extends 'base.tpl'}
{block content}
  <h1>{$title}</h1>
  <div>{$body|raw}</div>
{/block}

3. home.tpl

{extends 'base.tpl'}
{block content}
  <h1>{$cms_title}</h1>
  {if $tagline}<p>{$tagline}</p>{/if}
{/block}

4. Registrieren und aktivieren

php -r "require 'core/Nexis/Autoload.php';
$db = new Nexis\Database(require 'config/settings.php')['database'];
(new Nexis\Template\ThemeRepository($db))->register('frontend', 'Mini', 'mini-theme');
(new Nexis\Template\ThemeRepository($db))->activate('frontend', 'mini-theme');"

Das reicht bereits für eine komplett funktionierende, wenn auch schlichte Website - alle vier mitgelieferten Themes bauen im Kern auf genau diesem Muster auf, nur eben mit deutlich mehr CSS und zusätzlichen typ-spezifischen Vorlagen.

Vollständiges Beispiel zum Herunterladen

Ein komplettes, real installierbares und getestetes Beispiel-Theme - zeigt zusätzlich zum oben Gezeigten die --nx-*-Variablen-Alias-Zuordnung, echte Navigation, Full-Site-Editing-Zonen und die korrekte Bootstrap-Icons-Einbindung.

ExampleTheme.zip herunterladen

Hinweis: Wer ein eigenes Theme im NexisCore-Marktplatz veröffentlichen möchte, kann optional eine market.md beilegen und den Schnellupload nutzen, statt das Formular von Hand auszufüllen. Mehr dazu: Schnellupload & market.md →