Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Fields: Mehrere Input-Felder anzeigen bei unbegrenzten Werten.

Eingetragen von E-Fee (481)
am 13.09.2017 - 13:24 Uhr in
  • Module
  • Drupal 7.x

Hallo zusammen,

ich stehe gerade vor der Aufgabe (und ein wenig wie der Ochse vorm Berg), die Inhaltserstellung in einer bestehenden D7-Installation für die User etwas angenehmer zu gestalten. Dazu gehört auch, dass dem User bei einem Feld bereits zu Beginn mehrere Input-Felder angezeigt werden sollen, da hier in der Natur der Sache liegt, dass so ziemlich immer mehrere (bis relativ viele) Werte eingetragen werden sollen.
Standardmäßig ist es ja so, dass bei einer begrenzten Anzahl von Werten die richtige Anzahl an Input-Feldern angezeigt wird, bei unbegrenzten Werten nur jeweils ein Feld (mehr) und dann ein Button "Weitere hinzufügen".
Schön wäre es, z.B. zu Beginn 3 Input-Felder zu haben und beim Button-Klick 3 weitere zu erzeugen.

Das Ganze klingt spontan einfacher, als es sich gestaltet. Ich hab nämlich auch gedacht, das sollte mit ein paar Klicks oder höchstens dem Setzen eines Wertes per Mini-Modul lösbar sein.
Leider ist dem (wenn ich nicht zufällig den Wald vor Bäumen nicht sehe) nicht so. Und alles, was ich per Google in Issue Queues, Stackoverflow und dergleichen gefunden habe, deutet darauf hin, dass diese Aufgabe in D7 evtl. auch gar nicht lösbar ist, zumindest nicht ohne Core-Hack. Wenn ich das überhaupt aus den ganzen Fragmenten richtig deute. Häufig ging es eher um Themen wie Vorbelegung mit Werten (nicht nötig und erwünscht) oder das programmatische Ändern der "cardinality" (das scheint mir allerdings der Wert zu sein, den ich ändern müsste?), wenn man z.B. dort, wo 5 Werte erlaubt sind, nur 3 Inputfelder anzeigen möchte oder so.
https://www.drupal.org/project/field_instance_cardinality macht da von Haus aus schon mal nicht, was ich haben möchte.

Dass es sich bei dem Feld seinerseits auch noch um eine Field Collection handelt, sollte für den Lösungsweg, so es ihn gibt, unerheblich sein.

Das sollte im Eingabeformular für eine Field Collection mit unbegrenzten Werten etwa so aussehen:

Wert1Eigenschaft1    Wert1Eigenschaft2

Wert2Eigenschaft1    Wert2Eigenschaft2

Wert3Eigenschaft1    Wert3Eigenschaft2

Button 3 weitere hinzufügen

Hat jemand schon mal praktische Erfahrungen mit dieser Anforderung unter Drupal 7 gemacht und kann mir da sagen, was geht, was nicht geht und wie es gehen könnte? Oder mir die Tomaten von den Augen nehmen? Kann doch eigentlich nicht sein, dass diese Anforderung im Sinne der Usability soooo exotisch ist.

Viele Grüße
Sonja

‹ Admin Modulpage - WSOD Fields: Mehrere Input-Felder anzeigen bei unbegrenzten Werten. ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein Versuch wäre mit

Eingetragen von Jenna (1880)
am 13.09.2017 - 14:35 Uhr

Ein Versuch wäre mit Multifield, kann dir aber nicht garantieren ob das so geht.

Die Multifields selbst benötigen den Wert unbegrenzt, aber die zusammen gesetzten Multifields gibts du ja in deinem ContentType unter Fieldgroups aus.

Und wenn du dort als Set 3 eintragen kannst, könnte das funktionieren.

Oder auch mit DoubleField (dies hat aber nur 2 Werte und nicht mehr), Multifield kannst du beliebig Fields in eine Reihe setzen)

Grüße Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe ich schon oft gemacht:

Eingetragen von maen (547)
am 15.09.2017 - 19:02 Uhr

Habe ich schon oft gemacht: Baue eine entity mit entity_inline_form, dann ein Referenzfeld in der node auf die Entity. Funktioniert, nutze ich oft. Vorteil ist, dass du dann in views schön sauber das entsprechende delta der zugehörigen Entity rausholen kannst bei Bedarf.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry, dass ich mich erst

Eingetragen von E-Fee (481)
am 28.09.2017 - 09:54 Uhr

Sorry, dass ich mich erst jetzt wieder melde - es war insgesamt so viel zu tun!

Danke für Eure Bemühungen - ich befürchte allerdings, Ihr habt mein eigentliches Anliegen bzw. den Knackpunkt nicht richtig rausgelesen!

Also, es geht mir hier im Kern gar nicht um eine Field Collection (die in diesem Fall zwar auch noch integriert ist), und schon gar nicht um die Darstellung später in der Ausgabe. Auch nicht um Entities. Der Inhaltstyp samt Daten besteht bereits und hat auch schon einige tausend Einträge, es geht lediglich um eine bessere Handhabung des entsprechenden Widgets bei der Erstellung neuer Nodes.
Nein, Multifield löst das Grundproblem nicht.

Ich erkläre mein Problem noch mal und breche es jetzt mal herunter auf ein ganz normales Feld, meinetwegen ein Textfeld:

Wenn ich die Anzahl der Werte, die das Feld haben kann, auf eine feste Anzahl begrenze, dann werden mir im Widget drei Textfelder untereinander angezeigt. So weit, so praktisch.

Wenn ich die Anzahl der Werte, die das Feld haben kann, auf unbegrenzt setze (was hier der Fall und auch auf jeden Fall erforderlich ist), dann wird mir im Widget nur ein Textfeld angezeigt, mit einem Button, um weitere Felder hinzuzufügen.

Um den ganzen Prozess für den User (normaler User ohne Sonderrechte) etwas zu beschleunigen, würde ich gerne vom Start weg direkt drei oder fünf Textfelder untereinander einblenden, damit er nicht jedes Mal den Button anklicken muss. Und dann beim Klick auf den Button optimalerweise direkt wieder drei oder fünf neue Eingabefelder generieren.

Beispiel: Node-Type wäre "Stadt", Feld wäre "Stadtteile". Die Anzahl der Stadtteile unterscheidet sich ja von Stadt zu Stadt, daher prinzipiell unbegrenzt. Der User soll jetzt en bloc erstmal 5 Stadtteile untereinander eintragen können, bevor er den Button "Weitere hinzufügen" klicken muss und dann direkt wieder 5 weitere leere Input-Felder erscheinem.

Und genau dieses Konstrukt, von dem man eigentlich denkt "easy-peasy", das ist in Drupal (7) wohl so nicht vorgesehen und ich habe da auch noch keine Lösung gefunden. Da gibt es irgendwie nur umgekehrte Wege und die auch nur mit Core-Hack ... also alles nicht das, was ich bräuchte.
Ich bräuchte "nur" das Feld mit unbegrenzten Werten samt "Weitere Hinzufügen"-Button in Kombination mit den mehreren direkt vom Start weg angezeigten Input-Feldern des Feldes mit begrenztem Wert.

Drupal Freelancer im Rheinland gesucht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Spontan fällt mir hierzu ein

Eingetragen von missingdot (145)
am 29.09.2017 - 10:04 Uhr

Spontan fällt mir hierzu ein Workaround mittels jquery ein. Du stellst die Anzahl für dein Feld nicht auf "unbegrenzt" sondern auf einen festen Wert, der aber nie erreicht wird, aber auch nicht so hoch ist, dass er zuviele ungenutzte Felder erzeugt. Das "blockweise" (immer drei Felder) einblenden der Felder steuerst du denn mittels jquery-Script. Bei Field Collections sehe ich da aber möglicherweise ein Performance-Problem. Müsstest du einfach mal testen.

Ist mit Sicherheit nicht die eleganteste Lösung, aber würde - zumindest bis du eine bessere Lösung findest - funktionieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

na dann bau es dir

Eingetragen von maen (547)
am 02.10.2017 - 23:44 Uhr

mittels hook_field_widget_info() und hook_field_widget_form().

Müsste gehen.

BG
Marc

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich meine mich zu entsinnen,

Eingetragen von caw (2751)
am 08.10.2017 - 07:15 Uhr

ich meine mich zu entsinnen, daß es da ein modul gibt. irgendwie multi field widget formater oder . einfach mal auf drupl.org suchen

C.A.W. Webdesign

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Matomo(?) in Seite, aber Deinstalliert!
  • Upgrade Drupal 7 auf Drupal 9 / Inhalt erstellen zeigt nur Fehler an
  • Olivero veraendern
  • Fehlermeldung nach Update auf Drupal 10
  • Wie Button erstellen?
  • footnotes bei D10 und CKE5
  • ckeditor Bilder skalieren
  • Bild in welcher Form die Beschriftung!
  • Drupal 10 und Adaptive Theme 2.0
  • Drupal Commerce: Deprecated Module deinstallieren: CKEditor, RDF
  • [gelötst] Migration einer Seite von D8.9 auf 9 resp 10
  • Theme Olivero - Rand entfernen?
Weiter

Neue Kommentare

  • @onkel Bob,Erst mal
    vor 6 Tagen 20 Stunden
  • Prinzipiell geht das schon.
    vor 6 Tagen 20 Stunden
  • Rubi_2021 schriebWie genau
    vor 1 Woche 5 Tagen
  • Ok, war ein Versuch. ;-) Kann
    vor 1 Woche 5 Tagen
  • Danke
    vor 1 Woche 5 Tagen
  • Redest Du von dem
    vor 1 Woche 5 Tagen
  • Mit sticht das hier ins
    vor 1 Woche 5 Tagen
  • Mit welcher Version Drupal
    vor 1 Woche 5 Tagen
  • Bitte um Hilfe
    vor 1 Woche 6 Tagen
  • Fehler trotz Neuinstallation
    vor 1 Woche 6 Tagen

Statistik

Beiträge im Forum: 248796
Registrierte User: 19831

Neue User:

  • J. Berten
  • vohome
  • DerRalph

» Alle User anzeigen

User nach Punkten sortiert:
wla9333
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 3 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association