Über Harald

Seit 1993 bin ich als freiberuflicher Softwareentwickler mit den Schwerpunkten Programmierung von Internet- und Crossplattform-Applikationen, sowie als Mediendesigner, IT-Consultant und Dozent tätig. Die Übergänge zwischen diesen Themen sind fliessend. Mein Blog fasst all dies zu einem interessanten News-Stream zusammen. Viel Spass beim Stöbern! -- Harald

WordPress und WooCommerce übersetzen

WPML und andere Translation Tools können eine ganze Menge, wenn es darum geht WordPress oder WooCommerce Plugins zu übersetzen. In der Praxis ist aber leider nicht jeder String für diese Tools erreichbar. Bevor man in den Quellcode eines Plugins eingreift, gibt es einen eleganten Weg diese Ausreisser doch zu erwischen. WooCommerce on the fly übersetzen Bevor WordPress Inhalte anzeigt, schickt [...]

Von |2021-09-06T10:35:13+02:002021-02-12|Kategorien: Tipps, Tricks, Hacks|Tags: , , , , |0 Kommentare

WooCommerce: Warenkorb-Button in Kategorie-Ansicht

Das folgende Code-Snippet ergänzt alle Produkte in Kategorie-Ansicht von WooCommerce mit einem Warenkorb-Button. Eilige Käufer haben so die Möglichkeit die Produktseiten zu überspringen was unter Umständen zu höheren Conversions führt. Varianten erhalten automatisch einen Button der zur Auwahl auf die WooCommerce Produktseite verlinked: [crayon-691cb82507ee2720094259/] Im Frontend von WooCommerce schaut das Ganze dann so aus:

Von |2021-09-06T10:35:13+02:002021-02-11|Kategorien: Tipps, Tricks, Hacks|Tags: , , , , |3 Kommentare

WooCommerce aufgebohrt: Massive Anpassungen eines Shops für Tiernahrung

Bei dem folgenden Projekt wurden Funktionalität und Layout eines WooCommerce Shops massiv angepasst. Als Theme wurde Avada verwendet. Für die Anpassungen von WooCommerce kam ein Mix aus CSS, PHP und JQuery zum Einsatz. WooCommerce: Die Anpassungen im Detail: Der angepasste WooCommerce Shop hat folgende Features: Responsive Design für mobile Endgeräte. 2-spaltige Kategorieansichten auf dem Handy. Viele Custom Layout-Bausteine wie Carousels [...]

Von |2024-12-23T09:20:30+01:002021-02-08|Kategorien: Projekte|Tags: , , , , , , , |0 Kommentare

CSS: Alle Media Queries für iPhone, iPad, Samsung Galaxy S7+

Media Queries sind immer dann wichtig, wenn es um responsive Design auf mobilen Endgeräten geht. Sie sorgen für perfektes Skalieren des Layouts. Die folgende Liste beinhaltet die Media Queries für alle iPhones, iPads und das Samsung Galaxy S7+ Tablet.  Im Gegensatz zu vielen anderen Listen funktionieren diese Media Queries für Tablets auch mit Browsern, die nicht auf Webkit basieren (z.B. [...]

Von |2020-12-03T13:44:03+01:002020-12-03|Kategorien: Tipps, Tricks, Hacks|Tags: , , , |0 Kommentare

WooCommerce: Anbindung Warenwirtschaft / Faktura und mehr

Das folgende Projekt zeigt die Anbindung eines Warenwirtschaftssystems (Faktura) an WooCommerce. Dabei werden alle Artikel in WooCommerce automatisch erzeugt bzw. aktualisiert. Dazu kommt noch eine App zum mobilen Erfassen von Lagerbeständen, sowie die Möglichkeit mehre Preislisten zu erzeugen. Über 1.200 Artikel automatisch in WooCommerce einlesen Die Haupt-Datenquelle bei diesem Projekt ist ein Warenwirtschaftssystem (Faktura), welches die Artikeldaten als XML-Datei bereitstellt. [...]

Lange Dateipfade unter Windows 10 & 11 aktivieren

Je nach Windows 10 und Windows 11 Release und Upgrade-Historie kann es vorkommen, daß die Dateipfad-Länge noch auf 256 Zeichen limitiert ist. Dieses Limit sorgt oft für unschöne Fehler, die nur schwer zu lokalisieren sind. Diese Beitrag zeigt, wie man lange Pfade unter Windows 10 und Windows 11 aktivieren kann. Windows 10 & 11: Weg mit dem 256-Zeichen Limit für Dateipfade [...]

Von |2025-06-09T16:58:46+02:002020-11-26|Kategorien: Tipps, Tricks, Hacks|Tags: |0 Kommentare

Grav CMS & PHP 7.4: ERROR Trying to access array offset on value of type null

Versucht man GRAV CMS 1.6 unter PHP 7.4 zu betreiben, stolpert man spätestens beim Aufruf des Admin Plugins über den Fehler "Trying to access array offset on value of type null".  Die Lösung ist einfach, wenn man sie denn mal gefunden hat. PHP 7.4 gibt diverse Deprecation Warnings aus, welche den o.g. Crash in GRAV verursachen: GRAV CMS und PHP [...]

Von |2020-11-26T09:38:21+01:002020-11-26|Kategorien: Tipps, Tricks, Hacks|Tags: , , |0 Kommentare

Grav CMS dockerized

Grav CMS kommt komplett ohne SQL-Datenbank aus und läßt sich kinderleicht installieren. Zusammen mit Docker, kann man daraus ein sehr schlankes Application Framework bauen. Der folgende Beitrag zeigt, wie man mit wenigen Handgriffen einen Docker Stack mit Grav CMS, Apache und PHP 7.4 erstellt. GRAV CMS im Docker Container Wie schon in meinem Beitrag "Docker: Apache, MySQL, PHP und PHPMyAdmin [...]

Von |2022-01-11T15:20:17+01:002020-11-25|Kategorien: Tipps, Tricks, Hacks|Tags: , , , , , |0 Kommentare

LXArchiv für Lexware Financial Office 2021

Ab sofort ist unsere PDF-Archivierungslösung auch für das neue Lexware Financial Office 2021 verfügbar. LXArchiv erzeugt vollautomatisch ein digitales PDF-Archiv aus den in Lexware Financial Office geschriebenen Rechnungen, Lieferscheinen, Auftragsbestätigungen etc. Sparen Sie eine Menge Papier und vor allem wertvolle Zeit! NEU in LXArchiv 2021 Neben internen Optimierungen beherrscht LXArchiv nun differenzielle Archivierung. Ist diese Option aktiviert, merkt sich LXArchiv [...]

Von |2025-04-13T11:19:36+02:002020-11-21|Kategorien: Projekte, Events|Tags: , , , , , |0 Kommentare

Woo2LX: WooCommerce-Import für Lexware Financial Office 2021

Ab sofort is Woo2LX 2021 verfügbar. Mit Woo2LX importieren Sie mit wenigen Klicks  Aufträge aus WooCommerce nach Lexware.  Die WooCommerce-Schnittstelle für Lexware Financial Office im Detail Woo2LX managed den Datenfluss zwischen WooCommerce und der Lexware Faktura: Aktuelle Bestellungen werden über eine Schnittstelle (API) von WooCommerce abgerufen Der Benutzer wählt die Bestellungen aus, welche an Lexware übergeben werden sollen. Die Auswahl wird [...]

Von |2025-04-13T11:19:37+02:002020-11-18|Kategorien: Projekte, Events|Tags: , , , , , , , |0 Kommentare

CORS in Google Chrome abschalten

Cross Origin Resource Sharing (CORS) ist eine feine Sache, jedoch äußerst störend, wenn man Web Apps lokal testen möchte. Der folgende Beitrag zeigt, wie man CORS in Google Chrome temporär abschalten kann - für alle 3 Plattformen: Windows, macOS und Linux. Windows: Google Chrome ohne CORS Mit einem Rechts-Klick auf dem Desktop legen wir eine neue Verknüpfung an. Als Ziel [...]

Von |2020-10-27T15:31:36+01:002020-10-27|Kategorien: Tipps, Tricks, Hacks|Tags: , , |0 Kommentare

Grav CMS: Responsive iFrames

Der folgende Beitrag zeigt, wie man Inhalte über einen responsive iFrame nahtlos unter Grav einbettet. Der iFrame passt sich nicht nur der Fenstergrösse des Endgeräts an, sondern auch dynamisch dem Inhalt der eingebetteten Seite. Der Trick funktioniert auch in anderen Systemen - nicht nur Im Grav CMS. Dynamische iFrames Damit das Ganze funktioniert, benötigen wir etwas JavaScript Code in der [...]

Von |2020-10-07T16:33:42+02:002020-10-06|Kategorien: Tipps, Tricks, Hacks|Tags: , , |4 Kommentare

Docker Images ohne Registry updaten

Idealerweise läuft das Deployment von Docker Images über die Docker Registry. Der Entwickler sendet das Update über das docker push Kommando and die Docker Registry und auf dem Client wird es über docker pull eingelesen. Doch nicht immer hat der Client Zugriff auf eine Docker Registry oder der Entwickler möchte keine eigene Registry hosten. Für solche Situationen gibt es die [...]

Von |2020-11-25T16:21:21+01:002020-10-02|Kategorien: Tipps, Tricks, Hacks|Tags: , , |0 Kommentare

macOS Apps per Skript notarisieren

Das folgende Skript notarisiert macOS Apps, Packages und DMG-Dateien voll automatisch. Dabei wird die original Datei notarisiert - eine extra ZIP-Datei muß vorher nicht erstellt werden. Bitte beachten: Bevor wir die App notarisieren können, muss Sie erfolgreich code-signiert werden. Das Skript zum Code-Signieren von macOS Apps gibt es hier. Das Gleiche gilt für PKG- und DMG-Dateien. Bei DMGs müssen alle [...]

Von |2020-09-29T12:30:50+02:002020-09-25|Kategorien: Tipps, Tricks, Hacks|Tags: |0 Kommentare

VMWare Player als Dienst unter Windows 10

Leider lässt sich eine virtuelle Maschine mit dem VMWare Player unter Windows 10 nicht als System-Dienst einbinden. Der Benutzer muss sich zuerst anmelden, damit der VMware Player startet. Dieser Beitrag zeigt eine Lösung, die komplett ohne Benutzer-Login auskommt. VMWare Player headless unter Windows 10 betreiben - so geht's! Das folgende Beispiel geht von folgendem Szenario aus: Der VMware Player ist [...]

Von |2020-09-10T18:56:40+02:002020-09-10|Kategorien: Tipps, Tricks, Hacks|Tags: , |0 Kommentare

OS/2 + Windows 10: Netzwerk-Integration einer alten AGIE Drahterosions-Maschine

Im folgenden Projekt wird eine in die Jahre gekommene AGIE Drahterosions-Maschine an eine moderne Netzwerkumgebung "angepasst". Die AGIE Drahterosions-Maschine wird über einen PC mit OS/2 WARP4 Betriebsystem angesteuert. Dieser erhält die Daten von einem PC mit Windows NT 4.0. Da sonst alle anderen PCs im Netzwerk auf Windows 10 aufgerüstet wurden, führt diese Konstellation zu folgenden Problemen: Der AGIE Steuerungs-PC [...]

Von |2020-09-10T17:06:46+02:002020-09-10|Kategorien: Projekte|Tags: , |0 Kommentare

Apache, PostgreSQL, PHP und PhpPgAdmin als Docker Container Stack

Heute basteln wir einen Web Application Stack mit Docker-Containern, bestehend aus Apache, PostgreSQL, PHP (inkl. Redis) und PhpPgAdmin. Der Container-Verbund ist modular aufgebaut und so jederzeit mit weiteren Diensten erweiterbar. Mit geringem Aufwand  kann z.B. ein PostgreSQL Cluster mit Replikation simuliert, oder PostgreSQL 12 und PHP 7.4 gegen andere Versionen getauscht werden. SSL und XDdebug sind unter PHP vorkonfiguriert. Der Stack kann [...]

Von |2022-06-29T16:05:29+02:002020-09-10|Kategorien: Tipps, Tricks, Hacks|Tags: , , , , |0 Kommentare

Security Audits für WordPress mit WPScan im Docker Container

WPScan ist das ultimative Tool um Wordpress Sites automatisch nach Sicherheitslücken zu scannen. Leider erzeugt so manches WPScan-Update oft einen Overhead an Installationsaufwand, weil viele System Dependencies wegen Betriebssystem-Updates nicht mehr stimmen. Das mach WPScan zum Vorzeige-Kandidaten um es in einem Docker Container zu betreiben. So bleiben alle Systemabhängigkeiten konstant und WPScan läuft zuverlässig und stabil. Thema Sicherheit: Wordpress Sites [...]

Von |2020-09-09T19:16:45+02:002020-09-09|Kategorien: Tipps, Tricks, Hacks|Tags: , , , , , |0 Kommentare

Docker als Service unter Windows 10 möglich?

Docker Desktop ist eine fantastische Container-Virutalisierungslösung, extrem schnell, portabel und kostenlos. Doch leider lässt sich Docker Desktop unter Windows 10 nicht als Service installieren. D.h. der Benutzer muss sich zuerst am System anmelden, damit Docker startet. Das ist ein dann ein Problem, wenn der Server aus irgend einem Grund neu startet. Die Docker-Services stehen dann erst wieder nach Benutzer-Anmeldung zur Verfügung. [...]

Von |2023-05-30T12:49:52+02:002020-09-03|Kategorien: Tipps, Tricks, Hacks|Tags: , , , , |2 Kommentare

Versandlösung für EasyBill auf Windows portiert

EasyBillVersand erlaubt das Erstellen von Versandetiketten für DHL, DPD oder GLS mit den Auftragsdaten aus EasyBill. Ursprünglich wurde unsere Versandlösung für EasyBill für den Mac entwickelt. Im Zuge eines neuen Projekts ist diese nun auch für Windows erhältlich. Versandetiketten mit EasyBill drucken EasyBillVersand hat folgende Features: Genaue Berechnung des Paketgewichts aus den Gewichten der einzelnen Artikel eines Auftrags aus EasyBill. [...]

Von |2025-04-13T11:19:38+02:002020-09-02|Kategorien: Projekte|Tags: , , , , |0 Kommentare

macOS Catalina: mdworker Crash Disaster …

Dieser Beitrag zeigt die Lösung für das folgende Phänomen unter macOS Catalina: Völlig unvermittelt poppen nach längerem Arbeiten die folgenden Systemmeldungen auf: "mdworker crashed", gefolgt von Crash-Meldungen diverser Dienste und Apps wie iCloud,  Google Chrome, Apple Mail etc. Der mdworker Prozess ist unter macOS für Spotlight-Suchindex zuständig. Was zuerst wie ein beschädigtes macOS, ein defekter Spotlight Index oder defektes RAM aussieht, [...]

Von |2020-09-07T10:10:22+02:002020-07-23|Kategorien: Tipps, Tricks, Hacks|Tags: |0 Kommentare

Grav CMS: Multilinguale Website aus dem medizinischen Bereich

Im folgenden Projekt wurde eine über 10 Jahre alte, statische, nicht responsive Website aus dem medizinischen Bereich in Grav CMS neu aufgelegt. Der komplette Umfang sind 53 Seiten in 3 Sprachen, d.h. 159 Seiten insgesamt. Dank Grav war das Projekt in extrem kurzer Zeit und vergleichsweise geringen Kosten umsetzbar. Grav CMS: Medizinisches Layout. multilingual und responsive Die technischen Highlights dieses [...]

Von |2024-12-23T09:20:31+01:002020-04-20|Kategorien: Projekte|Tags: , , , |0 Kommentare

macOS Catalina, Timemachine: Backups verschwunden, kein Restore möglich

Aufgrund eines Fehlers in macOS Catalina oder neueren macOS-Versionen, ist auf einigen Geräten über den herkömmlichen Weg kein Restore mehr über TimeMachine möglich. Die Symptome sind: Der TimeMachine Zeitstrahl ist bis auf die letzten Paar Tage leer, ausgewählte Einträge im Zeitstrahl  können nicht ausgewählt werden, vor- und zurückblättern in der Zeit ist nicht mehr möglich. Dieser Artikel zeigt eine dauerhafte [...]

Von |2022-02-22T17:19:55+01:002020-04-14|Kategorien: Tipps, Tricks, Hacks|Tags: |2 Kommentare

Grav CMS: Seiten im Frontend bearbeiten

In Grav ist es möglich, bestimmte Seiten zum Bearbeiten freizugeben, ohne daß ein User administrativen Zugang zum Grav Backend erhält. Dieser Beitrag erklärt, wie man Grav konfiguriert um bestimmte Seiten direkt im Grav Frontend bearbeiten können. Grav: Frontend Editing konfigurieren Als Ersten installieren wir die folgenden Plugins: Login Plugin: Hiermit können sich User außerhalb des Backends authentifizieren. Editable with SimpleMDE [...]

Von |2020-04-09T12:35:59+02:002020-04-08|Kategorien: Tipps, Tricks, Hacks|Tags: , |0 Kommentare

Grav CMS: TNT Search implementieren

Für Grav gibt es zwar ein TNT Search Plugin zur Volltextsuche, jedoch tut sich nach der Installation erst mal nichts, wenn man eine multilinguale Website hat. Dieser Beitrag erklärt, wie man TNT Search unter Grav zum Laufen bekommt. TNT Search unter Grav installieren Nach Installation des TNT Search Plugins über das Admin Panel, kopieren wir die folgenden Datei aus dem [...]

Von |2020-04-08T17:12:49+02:002020-04-08|Kategorien: Tipps, Tricks, Hacks|Tags: , |0 Kommentare

macOS Catalina: Die Lösung zu “Play und Pause funktionieren nicht mehr in der Apple Musik App”

Nach dem Update auf macOS Catalina stehen einige User vor dem Problem, daß die Mediakeys (Play, Pause etc.) nicht mehr funktionieren. Dieser Artikel zeigt eine einfache Lösung, um die Mediakeys wieder zu aktivieren. Mediakeys unter macOS Catalina reparieren Es sind lediglich 2 einfache Schritte um die Mediakeys wieder gangbar zu machen: Systemeinstellungen / Sicherheit öffnen und das Tab Datenschutz auswählen. Dann Klick [...]

Von |2020-04-01T11:59:45+02:002020-04-01|Kategorien: Tipps, Tricks, Hacks|Tags: |0 Kommentare

Plesk: Anleitung zum Absichern von PostgreSQL per Fail2Ban

Wenn man unter Plesk den Standard-Port von PostgreSQL freigibt, sollte man neben einem komplexen Passwort eine zusätzliche Absicherung per Fail2Ban einbauen. Dieser Artikel zeigt, wie das geht. Plesk: Fail2Ban Jail für PostgresSQL Leider bietet Plesk auch in der aktuellen Obsidian-Version keine vollständige Unterstützung von PostgreSQL an. Man kann zwar den Postgres Server relativ komfortabel installieren, jedoch fehlen wichtige Verwaltungswerkzeuge oder [...]

Von |2022-09-22T13:17:07+02:002020-03-31|Kategorien: Tipps, Tricks, Hacks|Tags: , , |0 Kommentare

Lösung für Page-Refresh nach Browser-Resize

Manchmal kommt es vor, daß responsive Theme-Inhalte nicht korrekt dargestellt werden, wenn sich die Größe des Browserfensters ändert. Mit dem folgenden Trick wird ein Page-Refresh erzwungen, so daß das Layout sauber neu aufgebaut wird. Dieser Trick funktioniert nicht nur in Wordpress, sondern generell. Avada: Keine Refresh Loops, bitte! Bei einigen Frameworks, wie z,B. Avada kommt es bei einem simplen Refresh [...]

Von |2020-03-29T16:25:27+02:002020-02-18|Kategorien: Tipps, Tricks, Hacks|Tags: , , |0 Kommentare