Auftrag

Thomas Moseler

Design: Inga Boye, Webdesign Hannover

Basis-System

Symfony 6

Branche

Medien

Jahr

2024

Technische Besonderheiten

  • Content-Management-Funktionen
  • Bildverarbeitung
  • Deployment mit Ansible
  • Content Builder

Ein frischer Start mit Symfony

Die Portfolio-Website, die Sie gerade betrachten, sollte ein frisches Gesicht bekommen. Da ich zudem ins Lager der Freelancer gewechselt bin, sollte auch ein Um-Branding von rufzeichen auf meinen persönlichen Namen passieren. Ade rufzeichen-online.de, hallo thomas-moseler.de

Die Funktionalität der Seite ist eher einfach: Projekte, News, Infos über die Person. Warum dies nicht mit Symfony bauen? Content-Management-Funktionalität ist einfach zu implementieren, und ich war auch neugierig, wie gut das geht.

Fürs Design engagierte ich Inga Boye von Webdesign Hannover, die bereits für die aktuelle Version des Maschsee-Lauftreff ein frisches Design-Konzept erarbeitet hat. Die Zusammenarbeit hat sich bewährt.

CMS selber gebaut

Grundsätzlich ist der Einsatz von Symfony dann sinnvoll, wenn typyische von Wordpress oder Drupal bereitgestellte Content-Management-Funktionen eben nicht ausreichen oder nicht den Haupt-Fokus darstellen.
Baut man ein Mini-CMS mit Symfony, baut man allerhand Dinge nach, die es in Drupal schon gibt und man einfach so benutzen kann. Die Sinnfrage darf hier zurecht gestellt werden :D. Dafür ist das System am Ende schlank und hat wirklich nur das, was gebraucht wird.

Wirklich zentrale Funktionalitäten liefern Frameworks wie Laravel oder Symfony allerdings fast genauso einfach wie ein CMS. Inhaltstypen wie News oder Projekte und damit verknüpftes Tagging sind einfach Entities (ja, ich weiß, in Laravel heißen sie anders). Dank der nahtlosen Integration von Doctrine in Symfony oder Eloquent in Laravel ist es sehr leicht, diese zu erstellen. Man macht zwar alles im Code, aber mit etwas Übung geht das genauso schnell, wie die Felder im Interface zusammenzuklicken. Auch ein Login und nach Rollen organisierte Berechtigungen sind nicht kompliziert. Symfony bietet hierfür eine sehr einfache Basis-Version an, da man sie quasi immer braucht.

Bild mit Kreuz drauf

Focal-Point Crop

Wenn Bilder für verschiedene Formate zugeschnitten werden, was z.B. auf dieser Seite für die Projektübersicht oder auch das große Bild ganz oben auf dieser Seite der Fall ist, dann ist das Ergebnis nicht immer leicht zu kontrollieren. Ein typischer Fall wie hier gezeigt: man hat auf einer Seite eine quadratische Version, auf einer anderen Querformat und schwups: beim Querformat werden die Köpfe der Personen abgeschnitten.

Der Trick ist, den Mittelpunkt für den Zuschnitt zu definieren, dann kontrolliert man den Bereich, um den herum gecroppt wird. In Drupal gibt es dafür das schöne Modul Focal Point, einen Nachbau davon programmierte ich in Symfony selber.

Content-Dashboard

Inhalte-Dashboard

Jedes Content-Management-System hat eine Übersicht der Inhalte. So kann man schnell die zuletzt erstellte News bearbeiten, ein Projekt hinzufügen und hat die Übersicht, welche Tags für News es gibt.
Im Selbstbau-CMS ist so eine Übersicht auch nicht schwer zu erstellen: Um Styling-Aufwand zu vermeiden, verwenden wir Bootstrap, und in der allereinfachsten Version wird einfach aller Inhalt untereinander dargestellt.

Verschiedene Inhaltstypen

Projekte, News, Tags, alles da. So lange bei einer kleinen Seite nicht extrem viele Inhalte da sind, reicht das aus, nur durch die etwa hundert News muss man etwas scrollen. Wenn man es nach Inhaltstyp getrennt haben will, ist es aber auch nicht viel Aufwand, es in Tabs oder mit einem Menü zu organisieren. Am einfachsten verwendet man dann Easy Admin, das bringt dieses Feature gleich von Haus aus mit.

Content-Builder

Content-Builder

Content-Builder sollen es ermöglichen, dass sich Inhalte möglichst einfach fertig formatiert auf einer Seite einfügen lassen. Bilder, Bildergalerien, Twitter-Posts... Die Entwickler bereiten es so vor, dass die Editoren es nur noch reinwerfen müssen.
Eine recht einfache Implemtierung habe ich auf dieser Seite gebaut: Bilder und Text können vorformatiert eingefügt werden. Bild links oder rechts oder gar kein Bild, Bildformat auswählen, Überschrift eingeben, Hintergrundfarbe oder nicht.

So lässt sich ein abwechslungsreiches Layout umsetzen, ohne dass man sich beim Schreiben zu viele Gedanken machen oder HTML können muss.