Ein Field-Module über hooks erweitern?
Eingetragen von AndyLicht (260)
am 25.06.2018 - 15:48 Uhr in
am 25.06.2018 - 15:48 Uhr in
Hallo Forum,
ich habe bereits auf verschiedenen Wegen versucht mit dem Geofield Entwicklern in Kontakt zu treten, leider erfolglos. Gibt es eine Möglichkeit Field-Settings und Validierungsregeln über ein eigenes Modul zu erweitern? Ich möchte nur ungerne das gesamte Module klonen und es entsprechend anpassen, weil ich gerne weitere Entwicklungen Nachnutzen wollen würde.
mit bestem Gruß
Andy
- Anmelden oder Registrieren um Kommentare zu schreiben
Die kurze Antwort lautet ja.
am 25.06.2018 - 21:14 Uhr
Die kurze Antwort lautet ja. Es kommt darauf an, was du im Detail vorhast. Ich habe mir in einem Projekt auch einen eigenen Feldtyp auf Basis des geolocation Feld erzeugt. Das geht in Drupal 8 recht gut, ist aber je nach deinem Wissensstand nicht trivial. Einen guten Einstieg in das Erweitern von existierenden Feldtypen findest du hier: https://www.lullabot.com/articles/extending-a-field-type-in-drupal-8
Super, vielen lieben Dank.
am 26.06.2018 - 17:25 Uhr
Super, vielen lieben Dank. Ich möchte gerne, dass beim Geofield in den Settings festgelegt wird, welcher FeatureType (Point, LineString, Polygon ...) für das Feld zulässig ist. Dazu brauche ich einfach ein Radio-Button-Select und die entsprechende Speicherung der Auswahl. Entsprechend würde ich die Validierungsregeln ausbauen wollen. Als weiterer Schritt wäre die Erweiterung um die Definition eines Coordinaten Reference System, aber alles Schritt für Schritt. Dies würde ich gerne alles über das Geofield Widget Modul (siehe kommender Link) einbauen wollen, oder habe ich dann automatisch ein eigenes Feld?
Ich schreibe gerade das OpenLayers Modul für D8 neu und für große Kartenanwendungen und GIS-Funktionalitäten sind diese Eigenschaften notwendig.
mit bestem Gruß
Andy
p.s. darf ich fragen was du mit geolocation machst?
Aller Anfang ist schwer...
Die Drupal Catchphrase für
am 27.06.2018 - 09:53 Uhr
Die Drupal Catchphrase für solche Sachen ist Form API.
Du kannst dich da über einen form_alter in bestehende Formulare reinhooken und dann eigentlich so gut wie alles verändern.
Du kannst eigene Validation-Schritte in die Ausführungskette reinhängen, Felder ausblenden, deren Validierung ändern oder ganz abschalten, selber neue Felder reinhängen you name it.
Und andere Daten kannst du natürlich beliebig laden, theoretisch auch einen externen Service.
Ich bin erklärter Fan der Form API. Einmal gelernt, braucht man das Wissen ständig.
Wenn du auf diese Weise irgendwas modifizierst, ist es natürlich immer so, dass du eigentlich einen Spoiler rangeschweißt hast.
Wenn die Entwickler erstmal nicht auf Kontaktversuche reagieren, ist natürlich nicht so super. Auch ansonsten hat es immer auch eine politische Dimension, wenn du deine gewünschten Funktionalitäten im Modul unterbringen möchtest, da gibt es keine Garantien.
Ich kann verstehen, dass du für erweiterte Funktionalitäten keinen Klon des Modules bauen willst.
Evtl. kann es für deine Zwecke aber sauberer und flexibler sein, trotzdem dein eigenes Modul zu schreiben. Vermutlich brauchst du nicht alles, was im jetzigen Geofile Modul drinne ist und könntest dein eigenes Modul viel schlanker und spezifischer halten.
Hi, auch hier dir vielen
am 03.07.2018 - 06:16 Uhr
Hi,
auch hier dir vielen lieben Dank dafür. Ich habe jetzt am Wochenende angefangen ein eigenes Feld zu schreiben (SpatialFields), das geht deutlich fixer und einfacher. Das einzige Problem was ich jetzt noch habe ist "Wie kriege ich einen custom DataType" angelegt, sowohl MySQL, Postgresql als auch MariaDB haben die Feldoptionen Point, Polygon und LineString, diese möchte ich jetzt natürlich gerne auch so abgespeichert haben. Ich vermute nur, dass zu dem geöffnetem Fass noch deutlich mehr kommt, denn ich will die drei Felder ja auch vollumfänglich bei Views integrieren (Distance, WithIn, WithOut, Intersect). Ich sehe nur immer mehr den Bedarf von "vernünftigen" GIS-Modulen, immermehr User nutzen GMaps API und GMaps und müssten dafür eigentlich Geld zahlen.
mit bestem Gruß
Andy
Aller Anfang ist schwer...