ProcessWire - Konfigurationsseite erstellen

Aus Wikizone
Wechseln zu: Navigation, Suche

Es gibt immer wiederkehrende Einstellungen bzw. Teile die man für die meisten Websites benötigt. Dazu gehört z.B. ein Logo oder eine Footerzeile.

Damit man neue Websites auf Basis von ProcessWire Profilen schnell erstellen kann kann man sich eine Konfigurationsseite erstellen, über die man solche Dinge schnell anpassen kann ohne erst die Templates zu ändern. Wenn nur wenige Dinge angepasst werden sollen kann man die Felder direkt auf der Homepage unterbringen. Für umfangreiche Konfigurationen bietet sich eine eigene Seite an.

Quickstart[Bearbeiten]

_init.php

$configpage = $pages->get("/site_configuration/"); // page to store sitewide used fields

myTemplate.php

<span class="email"><?= $configpage->contact_email ?></span>

Konfigurationsfelder und Snippets zum Einsatz[Bearbeiten]

Allgemein[Bearbeiten]

Konfigseite als Variable definieren[Bearbeiten]

$configpage = $pages->get("/site_configuration/"); // page to store sitewide used fields

Metatags[Bearbeiten]

Site Title[Bearbeiten]

site_title

_init.php

$siteTitle = '';
if($configpage->site_title) $siteTitle = $configpage->site_title;
$title = $page->get('headline|title'); // headline if available, otherwise title
$titleTag = ($homepage->id != $page->id) ? $page->title .' | '. $siteTitle : $siteTitle;

Logo und Brandmark[Bearbeiten]

site_logo
site_brandmark

myTemplate.php

<?php
// Logo
if(count($configpage->site_logo)){
  $siteLogoUrl = $configpage->site_logo->height(80)->url;
} else $siteLogoUrl = $config->urls->templates.'/images/logo.png';

// Bildmarke.
if(count($configpage->site_mark)){
  $siteMarkUrl = $configpage->site_mark->url;
} else $siteMarkUrl = $config->urls->templates.'/images/mark.png';
//...
?>
<!-- ... -->
<a class="logo-holder" href="<?=$root?>"><img src="<?= $siteLogoUrl?>" alt="Home"></a>

Footer Zeile[Bearbeiten]

site_footer

Farben[Bearbeiten]

  • Hintergrundfarbe
  • Schriftfarbe
  • Linkfarbe
  • LinkHoverfarbe

Schriften[Bearbeiten]

Maps[Bearbeiten]

myMaps[Bearbeiten]

map_mid (rapid)

Google Map[Bearbeiten]

map_apikey
map_lat
map_lon

Adresse aus Kontaktinfos

Kontaktinfo[Bearbeiten]

contact_name
contact_address
contact_place
contact_email
// oder
contact_email_address
contact_email_text
contact_phone
contact_fax
contact_email