Problem Feldnamenlänge

am 07.11.2014 - 14:09 Uhr in
Hallo liebe Mitstreiter :-)
es geht um das Hinzufügen von Feldern (Fields) in einer View.
Das Feld ist ein einfaches Textfeld und normalerweise sollte das kein Problem darstellen.
Nun habe ich auf einer Plattform aber das Problem, dass, wenn der Feldname lang ist, sich das Feld nicht in die View einfügen läßt.
Beispiel: das Feld heißt im Formular (field_ ist ja immer schon vorgegeben)
field_abcde_testfeld_123456 --> dieses Feld kann ich in der View nicht hinzufügen
field_abcde_testfeld_12345 --> dieses Feld kann ich in der View hinzufügen
Folgendes passiert dort, wenn der Name zu lang ist:
Keine Fehlermeldung, ich kann das Feld aus der Liste auswählen und dann auf "Apply (All Display)" drücken, und dann kommt kein Dialog, wo ich z.B. das Lable abändern könnte, sondern es geht gleich wieder zurück zur View. Das Feld ist aber nicht hinzugefügt.
Wenn ich auf anderen Plattformen Felder mit langen Namen hinzufügen will, ist das im übrigen kein Problem. Vor ein paar Wochen war es auch auf der Plattform, wo es jetzt nicht mehr funktioniert, unproblematisch. Es gibt dort "alte" Views, deren Felder sehr lange Namen haben.
Hat das jemand von euch schon mal beobachtet ? Gibt es da irgendeinen Wert (php_value) mit dem man das beeinflussen kann ?
Unterschiedliche JQuery-Versionen habe ich schon ausprobiert (1.5 oder 1.7). Das hat keine Auswirkungen.
Admin-Theme: Seven
lieben Gruß
Berthold Lausch
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich hab eben mal so ein Field
am 07.11.2014 - 19:37 Uhr
Ich hab eben mal so ein Field angelegt, keinerlei Probleme, Text wird ausgegeben, Field in View einfügen alles o.k.
Drupal 7.32 (was auch sonst...)
Views 7.x-3.8
Views vom Typ Inhalt, Feldtyp im Inhaltstyp Text, kein Ajax aktiviert in Views
Maschinenlesbarer Name in Inhaltstyp:
field_abcde_testfeld_123456789
Alternate jQuery version for administrative pages 1.7
Default jQuery Version 1.10
Falls du noch mit weiteren Daten etwas anfangen kannst schreib einfach was du brauchst.
Ich hatte bei Views oder auch Rules Probleme mit der jQuery (simple Anzeigefehler, bzw. Ajax Errors) bei 1.5 geht alles, bei 1.7 geht Views, nur die Select Liste bei Rules Werten wird zerhackt bei 1.7 mit vielen komischen
<div>
Anzeigen. Seitdem schalte ich für Rules auf 1.5 und sonst habe ich 1.7 im Admin Bereich.Gibt es denn gar keinen Hinweis, auch nicht unter Protokolle?
Grüße Jenna
ergänzt: Shiny 7.x-1.6 (Standard-Theme)
Hallo Jenna, mit der jQuery
am 07.11.2014 - 20:43 Uhr
Hallo Jenna,
mit der jQuery Version habe ich auch schon herumgespielt, 1.10 oder 1.7 oder auch 1.5. Es ist immer dasselbe.
Es gibt auch keine Fehlermeldung, auch nicht in den Protokollen.
Es ist auch nur auf einer Plattform, die zugegebenermaßen, eine ganze Menge an Formularen und auch sehr viele Felder hat.
Es ist halt so, wenn man ein Feld mit mehr als 20 (eigenen) Buchstaben hinzufügen will, dann kommt eben das Fenster mit der Abfrage, Label erstelle, von der Anzeige ausschließen und was da sonst noch alles drauf ist, nicht mehr, sondern es geht direkt zurück zur View, diese wird auch als "verändert" gekennezeichnet (ist ja alles nur temporär, solange man nicht speicher). Aber das Feld ist nicht in der Field Liste der View drin.
Ich habe für Views auch schon JavaScript deaktiviert, aber das hat auch nichts geholfen.
Ich verrmute, es hängt mit irgendeiner PHP-Variable zusammen, die ich hoch setzen muß, ich habe aber keine Idee, was das konkret sein sollte.
ich hoffe ja immer noch, dass einer hier in der Community eine Idee hat, woran es liegen könnte :-)
Gruß Berthold
Noch ein kurzes Update für
am 07.11.2014 - 23:33 Uhr
Noch ein kurzes Update für diese Problematik:
Ich habe die gesamte Drupal-Installation vom Server herunterkopiert, inklusive der DB und lokal auf meinem WAMP laufen lassen.
Wie schon geschrieben, ohne Veränderungen.
Lokal taucht der Fehler nicht auf. Es könnte also mit der PHP-Version oder einer PHP-Variablen zusammenhängen.
Leider hilft mir das so auch noch nicht weiter :-(
Gruß
Berthold Lausch
Ein Workaround wäre, ein
am 07.11.2014 - 23:50 Uhr
Ein Workaround wäre, ein neues Feld mit kürzerem machine_name anzulegen und die Werte kurzerhand mit admin views über "wert setzen" in vbo umzuziehen.
Gute Idee, das wäre eine
am 08.11.2014 - 00:12 Uhr
Gute Idee, das wäre eine Möglichkeit, von der ich an anderer Stelle vielleicht noch mal Gebrauch machen kann.
Nachteil: ich habe die Felder auf dem Formular schon per CSS an die richtigen Stellen geschoben und ich würde das ungeren für die neuen Feldnamen noch einmal machen.
Zur Zeit sieht mit Workaround so aus: Ich füge die Felder local (WAMP) hinzu und exportiere die Node dann und importiere Sie wieder auf der betreffenden Plattform.
Wenn die View erst einmal importiert ist, dann ich die Felder auch ganz normal bearbeiten (Lable, exclude und und und).
Aber merkwürdig ist das schon und auch wirklich unschön :-(
Gruß
Berthold
Hallo, bin unterwegs, werfe
am 08.11.2014 - 00:47 Uhr
Hallo, bin unterwegs, werfe also nur schnell einen Gedanken rein:
Könnte es ev. an der MySql-DB liegen, also Storage Typ, MyISAM vs. InnoDB?
Hallo Leda,nee, der Storage
am 08.11.2014 - 13:55 Uhr
Hallo Leda,
nee, der Storage Type ist immer InnoDB für die Felder-Tabellen.
Wie schon geschrieben, wenn ich die View importiere, sind die Felder ja drin.
Das ging auch früher einwandfrei, ich habe noch "alte" Views auf der Plattform, die zweifellos Felder mit laaaaaaaannnngen Namen enthalten, das war nie ein Problem, bis jetzt eben :-(
lieben Gruß
Berthold
Zitat: Wenn ich auf anderen
am 08.11.2014 - 09:07 Uhr
Wenn ich auf anderen Plattformen Felder mit langen Namen hinzufügen will, ist das im übrigen kein Problem.
Hast du eine Möglichkeit alle Differenzen zu der jetzigen "Online" Installation abzugleichen?
- Overlay überall aktiviert oder deaktiviert
- php.ini / Version / Einträge überall gleich
- gleiche Views Versionen
- irgendwo ein unterstützendes Modul mehr, welches hier fehlt, Beispiel: JavaScript callback handler 7.x-1.0
- unterschiedliche Admin Themes verwendet
Für den Tipp von Marcob könntest du die CSS mit suchen / ersetzen ändern wenn du bei den neuen Namen mit Muster arbeitest
aus field_abcde_testfeld_123456 wird field_abcde_td_123456, dann bräuchtest du nur testfeld durch td ersetzen und alles stimmt wieder, setzt
voraus das eine Hauptbezeichnung je Field eben auch immer gleich ist und du trotzdem noch den Sinn erkennst.
Als letzte Variante wäre noch interessant ob es nur diese eine View betrifft oder alle auf der Install, wenn du eine leere View anlegst, besteht das Problem
dann immer? Masterview auch kontrolliert?
Ich hatte mal eine View mit einem Anzeigefehler, unter Ansicht analysieren war alles o.k., kam aber nicht weiter.
Ich weiß nicht mehr ob ich die View nur dupliziert und umbenannt habe oder neu angelegt, Fehler war danach für immer weg und ließ sich auch nicht reproduzieren.
Allerdings war der Fehler etwas anders, die Feldauswahl war zwar da, aber die Anwenden / Abbrechen Button waren einfach weg.
Grüße Jenna
@Als letzte Variante wäre
am 08.11.2014 - 13:54 Uhr
@Als letzte Variante wäre noch interessant ob es nur diese eine View betrifft oder alle auf der Install, wenn du eine leere View anlegst, besteht das Problem dann immer?
Ja, das Problem gibt es ganz unabhängig von der View.
@Hast du eine Möglichkeit alle Differenzen zu der jetzigen "Online" Installation abzugleichen?
meine lokale Kopie der Plattform, die ja den Fehler nicht aufweist, hat keine Differenz im Filesystem und in der DB, wohl aber in der PHP Version und auch in den PHP-Variablen.
Meine Analyse des Fehlers wird auch in diese Richtung gehen.
Ich werde auf dem Server, der jetzt den Fehler hat, die gesamte Drupal-Installation mit Files und DB spiegeln und mal schauen, ob auf dieser Spiegelung der Fehler immer noch auftaucht.
Wenn dem so ist, wird es sicherlich an der PHP-Version oder einer PHP-Variablen liegen.
Wenn dem nicht so ist, würde ich einen kleinen Fehler in der Datenbank vermuten, der sich möglicherweise durch Löschen der DB und dann einen frischen Dump aufspielen beseitigen läßt.
Ich werde dazu noch ein paar Tage brauchen und halte dich auf dem Laufenden.
Vielleicht hilft ja so ein copy-paste.
Gruß
Berthold