Direkt zum Inhalt

Coding

Treffer 1 - 9 von 9.

Drupal 8: Blocks handgemacht

veröffentlicht von gngn am Mi, 04/27/2016 - 18:31

Um in Drupal 8 per Code einen Block zu erschaffen wird im wesentlichen

  • Klasse BlockBase erweitert
  • und dabei die Funktion build() überschrieben.

Zu beachten ist die übliche PSR-4 Struktur, damit Drupal den Block auch findet.

Für ein Module my_module (üblichweise in modules/custom/my_module/) braucht es dann src/Plugin/Block/MyBlock.php:

Autocomplete Path für eigenes Field (mit Drupal 7.39)

veröffentlicht von gngn am Fr, 10/16/2015 - 14:40

Schnell mal ein node field durch ein Autocomplete aufpeppen - kein Problem. Dachte ich, hatte ich doch schon gemacht und die Suchmaschine meines Vetrauens spuckt zu "drupal 7 autocomplete" auch mehr als genug Treffer aus. Im wesentlichen mit hook_menu() einen Pfad setzen und diesen mit hook_form_alter() als #autocomplete_path einstellen. Aber es funktionierte trotzdem einfach nicht...

Die kurze Lösung: seit Drupal 7.39 müssen wir #autocomplete_input setzen bzw. form_process_autocomplete() nutzen.

The Pragmatic Programmer

veröffentlicht von gngn am Sa, 08/29/2015 - 05:37

Das definitive Buch für die erfahrene Programmiererin!

"If I'm putting together a project, it's the authors of this book that I want. ... And failing that I'd settle for people who've read their book." --- Ward Cunningham (Guru für Extreme Programming und Agile Software Entwicklung)

Nicht das einzige Buch, das ein Programmierer lesen sollte - aber wenn eine schon (etwas) Erfahrene mich nach einem guten Buch fragen sollte (und er rein zufällig wenig Zeit hat).

hook_update_N() neu einspielen - per drush

veröffentlicht von gngn am Di, 07/07/2015 - 10:26

Da bemühet man sich, immer alle Settings (und erschaffene DB-Tabellen und ...) ordentlich im .install File per hook_update_N() anzulegen... und dann bemerkt man nach dem Einspielen (drush updatedb), dass eine Variable vergessen oder ein Fehler gemacht wurde.

Einen neuen hook_update_N+1() anlegen ist nicht wirklich elegant.

Das Wissen um die richtige Stelle in der Datenbank führt zur geeigneten Methode um die Infos zurückzusetzen:

UPDATE system SET schema_version=N-1 where name = 'MYMODULE';

Module und Theme niemals gleich benennen - oder: warum mein hook zweimal ausgeführt wird?

veröffentlicht von gngn am Mo, 06/08/2015 - 10:33

Neulich musste ich beim Debuggen feststellen, dass ein von mir in einem eigenen Modul geschriebener Hook (konkret war es hook_form_alter) bei einem Seitenaufruf zweimal ausgeführt wurde.

Abgesehen von unnötig ausgeführtem Code, ist das zwar unschön und irritierend, aber damit kann mensch in Zeiten begrenzter Software-Budgets vielleicht noch leben - wird die gleiche Anpassung eben zweimal ausgeführt, mir doch egal...

Markierung für Formular-Pflichtfelder (Sternchen) ändern

veröffentlicht von gngn am Sa, 05/02/2015 - 10:27

Falls es mal nicht das netz-übliche Sternchen * sein soll, dass dein User_innen auf Pflichtfelder hinweist, sondern z.b. zwei Sternchen ** - dafür gibt es natürlich einen hook (was sonst?): hook_form_required_marker().

Einfach in template.php (des aktiviven Themes) hook_form_required_marker() implementieren: