Code, Entwicklung, PHP

Einfaches PHP Debugging in Browser Console

debug-to-console

Ich nutze die Console im Browser der gern um Debug-Inhalte auszugeben. Insbesondere bei Kunden-Sites kann ich so recht unscheinbar arbeiten und muss nicht die Oberfläche mit Debug-Meldungen zu zerstören, auch wenn man dies natürlich via Rechtabfrage filtern sollte. Im folgenden eine kleine Funktion, die mir den Inhalt in die Console schreibt, ohne Helferlein. Dies ist auch im Plugin Debug Objects untergebracht und kann beim Einsatz des Plugins direkt genutzt werden.

Der Screenshot demonstriert dies an einem komplexen Objekt in der Ausgabe und dient nur dem Verständnis. Den Inhalt, den ihr ausgeben wollt, liegt natürlich in eurer Hand.

Weiterlesen
Standard
Allgemein, CSS, xHTML, JS, Entwicklung, Webküche

Theme für Mantis Bugtracker

MantisBT ist eines meiner Werkzeuge zum Tracken von Bugs und Entwicklung. In dem Zusammenhang nutze ich ein eigenes Theme seit vielen Jahren um die Arbeit der Anwender zu unterstützen. Insbesondere für Nicht-Entwickler war dies ein wichtiger Schritt um sie in der Oberfläche abzuholen. Eine abgewandelte Form ist dies nun frei nutzbar, wie auch das Markdown Plugin für MantisBT.
Weiterlesen

Standard
Code, Entwicklung, PHP, Tipps, WordPress

Chrome Logger – ChromePHP

Der Webinspector in Chromium ist mir ans Herz gewachsen, Firebug ist für mich nur notwendig, wenn ich im Firefox validieren muss. In diesem Zusammenhang habe ich auch das Debuggen im PHP Umfeld dort abgebildet. Bin ich nicht komplett in der IDE und man braucht diverse Daten im Debuggmodus, dann kann man dies über die Wege var_dump() in der Applikation ausgeben oder alternativ in Chromium mit Hilfe der Erweiterung Chrome Logger und der Library ChromePHP tun. Somit wird die Oberfläche nicht durch die Debug-Ausgaben zerstört und kann in Systemen bei Kunden sauber in die Konsole des Webinspector überführt werden. Dazu einige Hinweise.
Weiterlesen

Standard
Code, Entwicklung

Git Autokorrektur

Git ist mindestens seit der Popularität von Github für viele Leute ein Thema. Damit rückt auch das Terminal und das Eintippen von Befehlen wieder in den Fokus der Entwickler. Ja. es gibt auch Tools und Integration, die Arbeit mit dem Terminal ist trotzdem oft schneller und flexibler. Dabei ist es natürlich auch möglich, dass ein Vertipper auftritt. In diesem Zusammenhang ein kleiner Tipp, wie Vertipper von Git automatisch korrigiert werden und der Befehl trotzdem ausgeführt wird.
Weiterlesen

Standard
Entwicklung, Themes, Tipps, WordPress

WordPress Customizer

Der WordPress Customizer – Theme-Einstellungen im Frontend einfach realisieren mit Hilfe des Standards.
Der Customizer ist seit WordPress Version 3.4 im Core und soll Theme Entwickler unterstützen, am Theme diverse Optionen zu ermöglichen. Dabei steht diese Möglichkeit im Standard zur Verfügung, wird von diversen Modulen wie Background und Header-Image unterstützt und kann nach Bedarf erweitert werden.

Das Thema Anpassen des Themes im Frontend von WordPress ist nicht erst seit WordPress 3.4 eine Anforderung, diese Ideen und diverse Lösungen gibt seit ewigen Zeiten. Wobei hier klar die Trennung zu ziehen ist, wer ist die Zielgruppe und wie flexibel möchte man diese Anpassungen gestalten.

Im folgenden kleinem Video zeige ich kurz, wie das ganze aussehen kann. Dabei habe ich diverse Felder eingebaut, die üblicherweise Verwendung finden und diverse Fragen im Coding ergeben. Ebenso ist eine eigene Klasse als Erweiterung des Customizers eingeflossen, zur Nutzung von textareas, um auch dazu ein Beispiel zu sehen.

Zum WordPress Camp in Berlin am letzten Wochenende habe ich dazu auf Anfrage eine Session gehalten und versucht das Thema etwas näher zu bringen. Gefühlt – das Thema scheint recht neu, nur wenige setzen sich damit auseinander. Vermutlich auch dem geschuldet, dass es bestehenden Lösungen gibt und es nun darauf ankommt, ob sich der Standard durchsetzen wird. Vor- und Nachteile gibt es in jedem Umfeld, auch diese habe ich etwas beleuchtet.

Darum verweise ich hier auch auf die Slides zur Session „The Customizer„, die mir in erster Linie als Basis für die linke Gehirnhälfte dienen und mein gesprochenes Wort untermauern sollen.

Insofern könnten Fragen entstehen oder offen bleiben. Ich möchte dabei aber ermuntern, schaut euch den Code im Referenzprojekt dazu an und ich denke, dass man damit mehr Lernen kann. Sollte es Fehler, Hinweise und Ideen geben, so nutzt sehr gerne die vielfältigen Möglichkeiten von Github, sei es via Issue oder einem Fork und diversen Änderungen im Code.

Trotzdem können hier gern in den Kommentaren Hinweise und Wünsche hinterlegt werden, so dass ich auf diverse Punkte eingehe und in separate Artikel ablege. Zu Custom Functions könnte ich mir dies bspw. vorstellen; dazu sollten aber die Grundlagen der Nutzung des Customizer bekannt sein und ggf. will man dazu auch mehr wissen.

Standard
Code, Entwicklung, PHP

Mantis Bug Tracker Plugins für BBCode und Markdown


Mantis ist einer meiner Favoriten beim Tracken von Bugs bzw. beim Issue Tracking, wenn es um eigenständig gehostete Lösungen geht; insbesondere bei Kunden in geschlossenen Netzen greife ich gern auf MantisBT zurück. In der Masse arbeiten dann Endanwender damit, weniger Leute, die ihre Inhalte formatieren wollen bzw. das nötige Wissen dazu mitbringen. In der Vergangenheit hat sich dies etwas verschoben und so war es ein Bedürfnis Code zu formatieren und wie gewohnt von anderen Plattformen aufzuhübschen. Dabei sind zwei kleine Plugins – BBCode und Markdown für MantisBT – entstanden, die ich hier gern nennen möchte und für alle, die ebenso auf Mantis setzen, als Hinweis hinterlege.
Weiterlesen

Standard
Code, Entwicklung, PHP, Plugin, WordPress

SAP Daten in WordPress darstellen, verarbeiten

WordPress ist ebenso in den Unternehmen angekommen, sei es um schnell eine interne Plattform zu erstellen oder Inhalte online zu verteilen. Verschiedene Aspekte spielen hier eine Rolle – einzig die Form der GPL macht es Unternehmen nicht leicht damit zu arbeiten bzw. sich auf die Resultate zu konzentrieren.

Darum soll es aber nicht gehen. Der Sinn dieses Artikels ist die Verknüpfung von Daten aus dem SAP ERP System und WordPress. Beide Plattformen können unterschiedlicher nicht sein und doch bestimmen beide einen Großteil meiner Zeit über den Tag. Kundenseitig habe ich ebenso mit beiden Systemen viel zu tun und berate und finde Lösungen zu Zielen und Problemen. Darum lag es nun nahe, eine alte Geschichte wieder aufzuwärmen und für einen Kunden diverse Inhalte aus dem SAP System in WordPress darzustellen, genauer im Frontend von WordPress um über diverse Inhalte live zu informieren. Daher galt es via PHP von WordPress aus auf Funktionsbausteine, geschrieben in ABAP, zuzugreifen und die Daten aufbereitet zu erhalten. Wenn man sich mit beiden Systemen befasst, kommt man schnell zu einer Lösung – SAP RFC.

RFC – Communication between applications in different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.

Weiterlesen

Standard
Code, Entwicklung, PHP, WordPress

WordPress und Magento – ein Lösungsansatz

WordPress wird recht häufig parallel zu Shops eingesetzt. Das hat viele Gründe; einer ist, dass Google frischen Content mag. Außerdem haben Shops häufig das generelle Problem, dass sie ziemlich Text-arm sind, da können Blogs für die Suchmaschinenoptimierung helfen.

In einem Projekt für einen neuen Shop auf Magento-Basis stand ich vor Kurzem vor genau dieser Aufgabe: ein Blog sollte aufgesetzt werden. Natürlich vom Look & Feel her an den Shop angelehnt. Also musste ein eigenes Theme her, so weit so gut. Aber es sollten auch einige Elemente des Shops im Blog genutzt werden. Zum einen die Menü-Struktur, die in diesem Shop den Kategorien entspricht. Zum anderen solche Dinge wie Footer, ein Bildwechsler und so weiter.

In diesem Artikel stelle ich vor, wie wir das Menü aus dem Shop im Blog verwenden. Die Idee funktioniert aber auch mit eigentlich allen denkbaren anderen Elementen des Magento-Shops, z. B. Produkte, Preise, Bewertungen, Warenkorb, Single-Sign-On mit dem Kundenkonto des Shops … eben alles, was man sich so an schönen Features überlegen könnte.
Weiterlesen

Standard
Entwicklung, Tipps, WordPress

Slides: WordPress Entwicklung

Ich schule auf spezifische Anforderungen in Unternehmen das Thema WordPress; bisher immer Entwicklung und einige Kollegen aus dem Inpsyde Team, unsere WordPress Agentur übernehmen Schulungen im Umfeld Autoren, Redakteure und Backend Allgemein. In diesem Zusammenhang ist seit einigen Tagen die Plattform EduPress online und informiert.

Ich gehe bei meinen Schulungen speziell auf die Anforderungen der Zielgruppe ein und trotzdem gibt es immer einen grundlegenden Einstieg, den ich fast immer nutzen kann. In diesem Zusammenhang habe ich meine Folien für diese Themen nun aktualisiert und wer mag, kann diese unter der URL bueltge.de/wordpress-entwicklung/ einsehen.
Sollte es Hinweise, Korrekturen oder anderen Tipps geben – gern an mich.

Standard
Code, Entwicklung, PHP, Tipps, WordPress

Optionen aus WordPress an JavaScripts übergeben #1

Auch in WordPress bleibt man nicht konstant in der PHP-Welt und so müssen Einstellungen, Daten aus der Datenbank an Scripte übergeben werden. In vielen Plugins findet man Lösungen in dem die wp-load.php geladen wird und damit der Zugriff auf alle Funktionen von WordPress. Vor geraumer Zeit hat Otto (Samuel Wood) auf diesen Umstand schon aufmerksam gemacht und der Artikel zeigt Lösungsansätze. Noch immer kommen dazu Fragen auf und noch immer erscheinen Plugins, die die wp-load.php genau auf Grund solcher Probleme laden.

Eine ähnliche Problematik stellt sich, wenn man den Source der Scripte nicht einfach in den Footer-Bereich von WordPress schreibt, sondern sauber in eine Datei auslagert und via wp_enqueue_script() inkludiert. Nur so kann WordPress diese Scripte mit verwalten, packen und optimiert ausliefern. Daher möchte ich in zwie Beispielen aufzeigen, wie man Daten von PHP an JS übergibt.
Weiterlesen

Standard