Der Interaktionsdesigner 2016

September 2009

TYPO3 Seiten und tt_news Kategorien synchron halten

Heute mal wieder ein richtig schönes Thema: Es geht um Seiten in einem TYPO3 Projekt und Nachrichten, die zu diesen Seiten gehören. Die Anforderung besteht darin, beim anlegen oder verändern von Seiten tt_news Kategorien auf dem gleichen Stand zu halten. Legt der Redakteur eine neue Seite Namens “Zimmerschlacht” an, könnte er anschließend in die Listenansicht wechseln und eine neue News Kategorie anlegen. Aber mach das mal einem DAR (analog zu DAU) klar. Und warum den Mund fusselig reden, wenn das auch automatisch geht?! Es gibt in TYPO3 eine Möglichkeit mit einem Hook in das Speichern von Datensätzen einzugreifen. Da kann man sich dann austoben. Es funktioniert auch mit DAM Kategorien und jeder anderen vorstellbaren Datenbankanforderung.

September 2009

entireHtml 2.0

Ich habe schon mal darüber bereichtet. Die Funktion $(“.test”).html() liefert nicht das komplette HTML, sondern nur das innerHTML. Mit meinem vorhergehenden Post kriegt man schon sehr einfach das komplette HTML eines Elements, und genau das ist das Problem: eines Elements. Mit ein paar Zeilen mehr im Plugin läufts auch mit beliebig vielen Objekten. So funktionierts:

September 2009

Select Boxes dynamisch verändern

Die praktische Auswahl von Daten über eine Selectbox ist immer wieder ein Thema. Vorallem bei den ganzen neuen Beta-Ajax-Web-Applications kommen sie einem immer wieder unter. Das Problem **mit den Dingern, ist die dynamische Veränderung. Ein einfaches $(“select”).find(“option:first”).remove(); funktioniert zwar zum entfernen, aber das hinzufügen von Options ist schon schwieriger (-böser Blick zum Internet Explorer-). Und wenn die Selectbox sich dann an einer weiteren orientieren soll, dann wirds haarig. **Die Lösung ist das Klonen und verstecken der “originalen” Box. Aus dem Klon kann man dann die überflüssigen Auswahlmöglichkeiten entfernen. Und jetzt folgt der Artikel wie man das effizient anstellen könnte. Natürlich Hand in Hand mit jQuery.

August 2009

Ein sauberes Testsystem mit Git

Versionisierung ist in aller Munde. Und am besten schmeckt Git. Ich hatte schon mal ein paar Worte über den Einstieg hier im Blog verloren, allerdings ist diese Softwareversionisierung schwierig in den Arbeitsalltag zu integrieren, wenn man nicht dazu gezwungen wird. Super wichtig bleibt es natürlich auch, wenn man es nicht benutzt, deshalb möchte ich hier eine Idee einbringen, umsich selbst zu zwingen damit zu arbeiten und sogar noch etwas davon zu haben! Es geht um ein leeres Projekt (HTML, CSS, JavaScript) in dem neue Sachen schnell, lokal getestet werden können. Bisher hatte ich einfach eine index.html die ich alle paar Wochen gelöscht und neugeschrieben habe. Uncool! Es geht viel besser, bequemer und zukunftsweisender mit Hilfe von Git! Und dieser Artikel zeigt eine Möglichkeit.

August 2009

CakePHP HABTM mit automatischer Vervollständigung

Wenn man für ein beliebiges Model Posts speichern und eingeben kann, vielleicht weil man dieser Anleitung gefolgt ist, dann ist das schon ein schöner Fortschritt. Allerdings passieren immer wieder Tippfehler, und ähnlich klingende Begriffe finden sich in der Tagcloud. Da hilft nur eins: während der Eingabe dem Benutzer direkt passende Tags vorschlagen. Eine automatische Vervollständigung wie beim Mailen in den großen sozialen Netzwerken oder beim suchen bei Google. Zum Glück haben sehr schlaue Leute schon diverse Plugins erstellt, welche einen JSON String oder eine simple Textliste verarbeiten können. Zum Beispiel Autobox2. Gleich mal die Demo angucken, runterladen und dann ins eigene Projekt integrieren. So funktionierts…

Juli 2009

Nette Erweiterung für jedes Menü mit jQuery

Es gibt kaum noch ein Menü, welches den Nutzer nicht mit einem Mouseover-Status über seine aktuelle Position informiert. Soweit so gut. Meistens sieht es so aus: Der Nutzer klickt auf den Menüpunkt, der Mouseover-Status verschwindet, die Seite verschwindet, die Seite baut sich wieder auf und der eben geklickte Menüpunkt ist dauerhaft hervorgehoben. Ganz normal. Aber: Mit ein bisschen jQuery lässt sich der Mouseover-Status schon bei einem Klick festsetzen. Das sieht gut aus und wirkt fast wie ein dynamisches nachladen der Seite. Ansehen kann man sich diesen Effekt zum Beispiel hier im Hauptmenü oder auf der Seite von Isabel von Roon. Wie der Effekt eingebaut wird, was find(), filter() und siblings() bedeutet und wie man den aktiven Menüpunkt hervorhebt wird in diesem Artikel besprochen.

Juli 2009

Viele Elemente dynamisch aktualisieren

Ein aktuelles Projekt interagiert auf sehr starke Art und Weise mit dem Benutzer. Das bedeutet neben einer anpassbaren Oberfläche wird der Benutzer ständig über den Status diverser Objekte auf dem laufenden gehalten. Dabei können sich verschiedene Objekte untereinander beeinflussen. jQuery bietet ja ein tolles Ajaxkonstrukt an mit dem es kein Problem ist Daten vom Server zu holen. Aber auf die Dauer wird es doch etwas nervig immer wieder zu tippen. Und weil “objektorientiertes Javascript” und selber entwickeln so viel Spaß macht, habe ich mir eine alternative Lösung einfallen lassen: Im Projekt werden an geeigneter Stelle Elemente erzeugt, die alle benötigten Informationen enthalten. Diese werden in einem Updater registriert, welcher sich um die regelmäßige Abfrage kümmert. Das war die Theorie und jetzt kommt die Praxis.

Juli 2009

Ein TYPO3 Menü mit PHP erweitern

Wie wahrscheinlich alle schon gelesen haben, kann meine neuste Extension dasTYPO3 Hauptmenü um beliebige Punkte erweitern. Nötig wurde das, weil Datensätze der neuen Extension über das Hauptmenü erreichbar sein sollen. Das ist doch mal wieder eine richtig schöne Aufgabe die Dank der Genialität von Typoscript auch einfach erledigt werden kann. Und so funktionierts.

Juni 2009

PDFs erstellen mit TYPO3

Aus irgendeinem Grund möchten so viele Kunden PDFs zum Download auf ihren Seiten anbieten. Vermutlich haben sie keinen Mac. Als Fullservice Agentur scheut man sich natürlich nicht vor der Arbeit, sondern stürzt sich voller Freude hinein. Mit der Extension pdf_generator2 wird das zum Kinderspiel! Und das mit CSS Support, inklusive Hintergrundbildern! Dieser Beitrag zeigt wie.

Mai 2009

Mein Git Tutorial

Der letzte Schrei bei der Versionskontrolle ist Git. Entwickelt von Linus Torvalds, dem Erfinder von Linux, ermöglicht es das Arbeiten auf eine viel flexiblere Art und Weise als SVN. Die Punkte die mich überzeugt haben sind: * es muss sehr schnell sein, um mit der großen Code-Masse klarzukommen * nicht jeder darf Patches integrieren, sie müssen vorher durch einen Maintainer kontrolliert werden * das System muss dezentral arbeiten, um einerseits Bandbreite und Performance zu sparen und damit andererseits nicht bei einem Ausfall die ganze Entwicklung still steht (Quelle: Online-Tutorials.de) Nun stellt sich natürlich die Frage wie Git mit Mac OS X zusammenarbeitet, wie man es installiert und seine Projekte in ein Repository packt. Dieser Artikel will das verständlich, kurz und auf deutsch erklären. Letzte Kontrolle der Aktualität: 08 / 2011

Mai 2009

IMAP Postfächer mit CakePHP abfragen

Für ein aktuelles Projekt musste die Anwendung per IMAP auf ein Postfach zugreifen und die Mails auslesen. Das einzige Plugin welches ich gefunden habe war für CodeIgniter, benutzte aber glücklicherweise wenig Corefunktionen was es ermöglicht hat es für CakePHP zu portieren. Es ist jetzt also sehr leicht möglich die Mails aus einem Postfach auszulesen. Im folgenden Beitrag wird gezeigt wie.

Mai 2009

Das komplette HTML eines Elements mit jQuery auslesen

Klingt komisch, ist aber ab und zu ganz nützlich. Worum geht es? Im Elementstack von jQuery liegt ein Element welches an einem anderen Ort wieder eingefügt werden soll. So sieht das HTML Element aus: [code lang=”html”]<a href=”#” id=”ein-interner-link”>Ein <span>wichtiger</span> Link</a> Natürlich wird das Element ausgewählt und das HTML mit der Funktion html ausgelesen. [code lang=”javascript”]$(“#ein-interner-link”).html(); Diese Abfrage liefert allerdings das hier: [code lang=”html”]Ein <span>wichtiger</span> Link Das ist nicht das gesamte HTML, sondern nur das innerHTML. Im folgenden Artikel gibt esdie Lösung. Oder direkt zur verbesserten Lösung.

April 2009

Mit CakePHP in 30 Minuten Tags zu einer Tabelle hinzufügen

Im Web 2.0 geht nichts mehr ohne Tags. Und ohne ein Rapid Development Framework kann das ganz schön haarig werden. Zum Glück springt CakePHP mit leuchtenden Augen (oder waren es die Augen des Entwicklers?) in die Bresche und begeistert mit sehr einfachen Umsetzung. Mit der folgenden Anleitung bekommt ein beliebiges Model die Möglichkeit Tags zu speichern, inklusive Has and belongs to many Beziehung.

April 2009

Mit jQuery und CakePHP voneinander abhängige Selectboxen

CakePHP ist genial, nicht nur was die Erstellung von Formularen angeht. Aber leider setzt der integrierte AjaxHelper Prototype voraus und als überzeugter jQuery-Nutzer kommt das für mich nicht in Frage. Nun gibt es aber beim aktuellen Projekt folgendes Problem: Einem Projekt wird ein Kunde zugeordnet und jedes Projekt kriegt einen Ansprechpartner. Dieser Ansprechpartner ist in der User-Datenbank gespeichert und besitzt eine ID zu einem Kunden. Legt man ein neues Projekt an und wählt einen Kunden aus, sollen nur noch die passenden Ansprechpartner angezeigt werden. Nichts leichter als das! Hier stelle ich meine sehr flexible Möglichkeit für die Umsetzung mit jQuery und CakePHP vor. Grundwissen allerdings vorrausgesetzt.

April 2009

Der beste, native Twitter-Client für OSX

Ja, ich bin dabei. Folge meinen Updates unter http://www.twitter.com/paul_lunow. Ich bin eingestiegen in die Welt des Microbloggings. Als voll aktiver Mitbewohner der Web 2.0 WG darf Twitter im Portfolio natürlich nicht fehlen. Dabei habe ich nicht immer so gedacht. Lange habe ich jede Umfrage lächelnd mit der Antwort “Den Mist brauche ich nicht” beantwortet und bin weiter gezogen. Aber das hat sich geändert! Twitter rückt mehr und mehr in den Webmittelpunkt und mit einer guten Auswahl von Menschen deren Updates man folgt, erhält man viele lustige oder nützliche Informationen. Ein paar Autoren von Fachbüchern sind ebenfalls dabei und während man ihr Buch ließt kommt eine Nachricht wie “Mache Glühwein warm, von wegen Frühling”, dass macht es menschlicher, näher. Und man wird immer wieder überrascht. Zum Beispiel von den Drei Fragezeichen oder Fettes Brot. Alle dabei. Und zu guter Letzt ist es ein nettes Gefühl zu wissen, nein zu lesen(!), dass man nachts um halb 2 nicht der einzige ist, der vor dem Computer sitzt und sich mit Dingen beschäftigt die bei Stromausfall keine Sau interessieren. Also los gehts! Allerdings hat wohl niemand Lust ständig Neuladen auf der Twitterseite zu drücken. Deshalb braucht man einen guten Twitter-Client: Ein kurzer Test mit Schreenshots, Links und persönlicher Empfehlung folgt in diesem Artikel.