ProcessWire - Konfigurationsseite erstellen: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 35: Zeile 35:
 
myTemplate.php
 
myTemplate.php
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
 +
 +
<?php
 
// Logo
 
// Logo
 
if(count($configpage->site_logo)){
 
if(count($configpage->site_logo)){
Zeile 40: Zeile 42:
 
} else $siteLogoUrl = $config->urls->templates.'/images/logo.png';
 
} else $siteLogoUrl = $config->urls->templates.'/images/logo.png';
  
// Bildmarke
+
// Bildmarke.
<?php
 
// ...
 
 
if(count($configpage->site_mark)){
 
if(count($configpage->site_mark)){
 
   $siteMarkUrl = $configpage->site_mark->url;
 
   $siteMarkUrl = $configpage->site_mark->url;
Zeile 48: Zeile 48:
 
//...
 
//...
 
?>
 
?>
 +
<!-- ... -->
 
<a class="logo-holder" href="<?=$root?>"><img src="<?= $siteLogoUrl?>" alt="Home"></a>
 
<a class="logo-holder" href="<?=$root?>"><img src="<?= $siteLogoUrl?>" alt="Home"></a>
 
</syntaxhighlight>
 
</syntaxhighlight>

Version vom 8. Dezember 2017, 17:19 Uhr

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

_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

Allgemein

Konfigseite als Variable definieren

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

Metatags

Site Title

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

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

site_footer

Farben

Hintergrundfarbe Schriftfarbe Linkfarbe LinnkHoverfarbe

Schriften

Maps

myMaps

map_mid (rapid)

Google Map

map_apikey
map_lat
map_lon

Adresse aus Kontaktinfos

Kontaktinfo

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