35
ProcessWire Ein CMS voller Freiheiten

ProcessWire – Ein CMS voller Freiheiten

Embed Size (px)

DESCRIPTION

Vorstellung des CMS ProcessWire auf dem Webkongress Erlangen 2014.

Citation preview

Page 1: ProcessWire – Ein CMS voller Freiheiten

ProcessWireEin CMS voller Freiheiten

Page 2: ProcessWire – Ein CMS voller Freiheiten

• Matthias Mees – @yellowled

• http://netzgestaltung.net

• HTML, (S)CSS, JS/jQuery, CMS

Page 3: ProcessWire – Ein CMS voller Freiheiten

Eckdaten

Page 4: ProcessWire – Ein CMS voller Freiheiten

• Apache mit mod_rewrite und .htaccess

• PHP >= 5.3.8 mit GD2, PDOund mysqli

• MySQL >= 5.0.15

Page 5: ProcessWire – Ein CMS voller Freiheiten
Page 6: ProcessWire – Ein CMS voller Freiheiten

• http://processwire.com

• http://processwire.com/demo/

• http://processwire.com/talk/

Page 7: ProcessWire – Ein CMS voller Freiheiten

Showcase

Page 8: ProcessWire – Ein CMS voller Freiheiten
Page 9: ProcessWire – Ein CMS voller Freiheiten
Page 10: ProcessWire – Ein CMS voller Freiheiten
Page 11: ProcessWire – Ein CMS voller Freiheiten

Backend

Page 12: ProcessWire – Ein CMS voller Freiheiten

• schlicht und schlank

• Eye-Candy über jQuery UI

• aber: ohne JS und in IE < 8 nicht benutzbar

• anpassbare Eingabemasken mit „Hilfetexten“

Page 13: ProcessWire – Ein CMS voller Freiheiten
Page 14: ProcessWire – Ein CMS voller Freiheiten

• Medien sind über Felder Seiten zugeordnet

• keine zentrale Medienverwaltung (im Kern)

• API-Funktionen, um Bilder zu bearbeiten und auf ihre Eigenschaften zuzugreifen

Page 15: ProcessWire – Ein CMS voller Freiheiten
Page 16: ProcessWire – Ein CMS voller Freiheiten

Templates

Page 17: ProcessWire – Ein CMS voller Freiheiten

• jeder Seite ist ein Template zugeordnet

• jedem Template sind Felder zugewiesen

• jedem Feld sind ein Typ und verschiedene Attribute zugewiesen

• Zugriff über API-Variablen und -Methoden

Page 18: ProcessWire – Ein CMS voller Freiheiten
Page 19: ProcessWire – Ein CMS voller Freiheiten
Page 20: ProcessWire – Ein CMS voller Freiheiten

Module

Page 21: ProcessWire – Ein CMS voller Freiheiten

• derzeit 224 Erweiterungen aller Art

• viele Aufgaben von Modulen lassen sich bereits nativ in Templates umsetzen

• statt Themes: Seiten-Profile

Page 22: ProcessWire – Ein CMS voller Freiheiten
Page 23: ProcessWire – Ein CMS voller Freiheiten

Was ist daran nun so ausgesprochen „frei“?

Page 24: ProcessWire – Ein CMS voller Freiheiten

ProcessWire gibt nichts vor

Page 25: ProcessWire – Ein CMS voller Freiheiten

• Struktur, Gestaltung und Verhalten liegen in der Hand des Entwicklers

• es passt sich der eigenen Arbeitsweise an

• oberflächlich wenig komplex, aber sehr leistungsfähig über die API

Page 26: ProcessWire – Ein CMS voller Freiheiten

Alles ist eine Seite

Page 27: ProcessWire – Ein CMS voller Freiheiten

• keine zusätzlichen Inhaltstypen

• jedes Feld ist ein „freies“ Feld

• das gesamte System ist modular auf dem PW-Framework aufgebaut und erweiterbar

Page 28: ProcessWire – Ein CMS voller Freiheiten

Wie jQuery für PHP

Page 29: ProcessWire – Ein CMS voller Freiheiten

• jeder Knoten (Seite) hat ein Eltern- und Kind-Element(e) und unterschiedliche Attribute (Felder) entsprechend seines Typs (Template)

• Methoden, z.B. find(), children(), parent()

• Selektor – Operator – Wert

Page 30: ProcessWire – Ein CMS voller Freiheiten

Code-Beispiele

Page 31: ProcessWire – Ein CMS voller Freiheiten

<?php // Das Feld body der aktuellen Seite ausgeben echo $page->body; !// Die Seite einstellungen finden und // deren Feld copyright ausgeben echo $pages->get("/einstellungen/")->copyright; !// Wie viele Speaker gibt es auf dem WKE 2014? echo $pages->count("template=speaker");

Page 32: ProcessWire – Ein CMS voller Freiheiten

<?php // Navigations-Pfad (Breadcrumb) foreach($page->parents as $p) { echo "<a href='{$p->url}'>{$p->title}</a> » "; } echo $page->title; !// Bildergalerie mit Thumbnails foreach ($page->$images as $i) { $thumb = $i->size(300,225); echo "<li><a href='{$i->url}'><img src='{$thumb->url}' alt='{$i->description}'></a></li>"; }

Page 33: ProcessWire – Ein CMS voller Freiheiten

<?php // Vortragsprogramm des WKE 2014 von heute $today = date('d.m.Y H:i', time()); // nur in Hörsaal 11 sortiert nach Uhrzeit $talks = $pages->find("template=talk,talk_datetime>today,talk_room=11,sort=talk_datetime"); // ausgeben echo "<ul>"; foreach($talks as $talk) { // (<time> nur aus Platzgründen ausgelassen) echo "<li>" . strftime('%H:%M', strtotime($talk->talk_datetime)) . " " . $talk->title . " (" . $talk->speaker . ")</li>"; } echo "</ul>";

Page 34: ProcessWire – Ein CMS voller Freiheiten

Ausgabe Codebeispiel 3(Im Standard-Seitenprofil)

Page 35: ProcessWire – Ein CMS voller Freiheiten

Danke für’s zuhören.

slideshare.net/matmees