Anzeigen von verwandten Taxonomy-Begriffen des angezeigten Nodes in View Filter

Letztens musste ich für eine Produkt-Detailseite alle verwandten Produkte in einer Blockview anhand bestimmter Taxonomien anzeigen. Nun kann man sich bei Drupal schnell in eine Sackgassen konfigurieren und man möchte frustriert aufgeben, oder den Umweg über eine programmatische Lösung gehen, denn zu zahlreich sind die Einstellungsmöglichkeiten, gerade im Views-Modul.

Es gibt hierfür eine Lösung, sich entsprechendes Verhalten im Backend zusammen zu klicken, wenn man sich durch das Wording in Drupal nicht verwirren läßt.

Und so geht´s:

1. Fügt eine Relationship zu eurer View hinzu: „Content. Taxonomy terms on node
2. Fügt einen Context-Filter hinzu: „Taxonomy Term: Term ID

Die Einstellungen für die Relationship sind noch eindeutig. Hier wählt man die Taxonomie aus, welche die entsprechende Relation hat, z. B. „Main Category“.

Jetzt kommt der vielleicht verwirrende Part, da Drupal im Wording beim Context-Filter von einem URL-Parameter ausgeht, wir den Parameter aber gar nicht über die URL mitgeben, sondern ihn über die entsprechende Relation bereitstellen.

Man nimmt folgende Einstellungen im Context-Filter vor:

  1. Auswählen des „Provide default value“ Radio-Buttons.
  2. Beim Drop-Down-Feld „Type“ wählt ihr „Taxonomy term ID from URL“ aus (obwohl wir gar nichts über die URL übertragen und das kann durchaus für Verwirrung sorgen, wenn man sich durch die Einstellungen klickt).
  3. Auswählen von „Load default filter from node page„.
  4. Auswählen von „Limit terms by vocabulary„.
  5. Auswahl der Taxonomy Vokabeln, die ihr zur Filterung benötigt.

Das war´s, jetzt solltet ihr in der View, z. B. einen Block, alle Produkte sehen, die mit der aktuellen Seite in Relation stehen.

Pimcore Tutorials

Ich finde, es gibt derzeit immer noch viel zu wenige Tutorials zu Pimcore, welches es mittlerweile schon in Version 4 gibt. Dabei handelt es sich hierbei für mich immer noch um das eleganteste CMS auf PHP-Basis. Auch wenn das dahinter liegende Zend Framework immer noch in Version 1 dahin vegetiert, eine Portierung auf Version 2 ist einfach zu aufwendig und führt auch am Ziel vorbei, dafür wird mittlerweile für das Backend ExtJS 6 verwendet.

Ich muss mich seit einiger Zeit hauptsächlich mit Drupal und WordPress plagen. Nichts gegen diese beiden Systeme. Sie haben beide ihre Berechtigung, nur hierfür etwas zu Entwickeln macht keinen Spaß.

In letzter Zeit erhalte ich aber wieder vermehrt Anfragen für Pimcore und muss häufiger wieder Systeme hierfür aufsetzen. Und vor 2 Jahren wollte ich schon mal eine Tutorial Reihe zum Aufsetzen eines guten Basis-Systems schreiben. Und gerade juckt es mich wieder in den Fingern. Vielleicht hauche ich dem Block damit auch wieder ein wenig Leben ein.

Einen schönen Abend noch.

Nachträglich hinzugefügtes Element im DOM ansprechen

Ich muss zugeben, ich hatte öfter das Problem, Elemente auf einer Webseite mit jQuery anzusprechen, die nachträglich via Ajax oder .append() dem DOM hinzugefügt wurden. Höchstwahrscheinlich bin ich auch der Letzte, der die ideale Lösung wohl nicht kannte, obwohl es bereits seit 2011 möglich und bekannt ist.

Normale DOM Elemente mit Click-Handler behandeln:

Das geht solange gut, wie alle Elemente schon im DOM vorhanden sind, kommt aber etwas nachträglich hinzu, zum Beispiel nachgeladen durch Ajax, dann kennt der Click-Handler den Selektor noch nicht und dann kann man auf das Element klicken wie man möchte, es wird nichts passieren. Es wird nicht mal eine Fehlermeldung ausgegeben, weil es keinen Fehler gibt.

Jetzt endlich, bin ich über eine gute Lösung für das Problem gestolpert.

Nachträgliche, dem DOM hinzugefügte Elemente, mit Click-Handler behandeln:

In diesem Fall wird das neue Element in jedem Fall gefunden. Das ganze bedeutet natürlich auch, dass in diesem Beispiel der gesamte DOM einer Seite durchlaufen wird, bis der gewünschte Selektor gefunden wird, wegen $(document).on().

Aus Performancegründen wäre vielleicht die Wahl eines vorhanden, näher an dem neuen Element liegender Container, die bessere Wahl, solange dieser bereits vorhanden ist. Das sollte aber nicht wirklich ein Problem sein 😉

Abgefahrene CSS Shapes

Ich habe gerade eigentlich etwas ganz anderes zum Thema CSS gesucht, und dann was zum Thema Border und CSS gefunden, the Shapes of CSS. Mit CSS und Borders ist ja schon einiges möglich, aber da waren doch Ergebnisse bei, die mich sehr überraschten. Alte Bekannte wie Kreise, oder Dreiecke wirken dagegen auf einmal altbacken 😉

Ihr solltet auf jedenfall mal dort rein schauen, gibt noch viele andere Ideen von diversen Entwicklern, die Euch inspirieren könnten.

Das obige Beispiel ist von:  Nicolas Gallager

Noch nie so viel geschlafen

Ich muss zugeben, ich habe glaube ich noch nie so viel geschlafen, wie in der letzten Woche. Jeden Tag zwischen 0 und 1 Uhr ins Bett und dann eigentlich immer bis ca. 12 Uhr mittags gepennt. Ok, zugegeben, ich war krank, aber selbst im Urlaub schlafe ich selten mehr als 7 Stunden, da ich sonst das Gefühl habe, ich könnte etwas in der Zeit verpassen.

Jedenfalls war das super erholsam und man sollte immer so viel schlafen können, wie man möchte und braucht. Während der Arbeitswoche ist das aber tatsächlich unmöglich. Morgens, gegen 7:20 Uhr stehe ich auf, und komme meist exakt 12 Stunden später, also gegen 19:20 Uhr wieder nach Hause. Wenn man dann noch etwas im Haushalt und für das leibliche Wohl zu tun hat, sind es meist schnell nur noch 9 Stunden, die man schlafen könnte und dabei ist noch nicht berücksichtigt, dass man sich um sein geistiges Wohl gekümmert hat, also Hobbys pflegen, oder ein Buch lesen. Das nervt.

Der Tag sollte einfach 30 Stunden haben, dann muss ich nicht erst krank werden, um von allem genug zu bekommen.

Platzhirsch Duisburg – Neues Projekt mit Pimcore

Vor einigen Monaten kam ich mal wieder zu einem Projekt, welches mit Pimcore umgesetzt wurde. Dabei handelt es sich um ein kleines Indie-3-Tages-Festival in Duisburg. Das ganze war quasi Nachbarschaftshilfe. 😉

Jedenfalls hat es mal wieder Spaß gemacht, etwas mit der aktuellen Pimcore Version umsetzen zu können. Und eine große Einarbeitungszeit für die Redakteure und Festival-Betreuer war auch nicht nötig.

Die Seite findet ihr hier: http://www.platzhirsch-duisburg.de/

Nächstes Jahr geht das ganze dann mit einer, in Details überarbeiteten Version, in die dritte Auflage 😉

platzhirsch-duisburg-start