[gelöst] Einfaches Textfeld nachträglich in mehrzeiliges Editor-Feld umwandeln
am 21.01.2015 - 09:22 Uhr in
Das einzeilige Textfeld wurde bereits mit Inhalten befüllt, deshalb ist nachträgliches Ändern auf "Langer Text und Zusammenfassung" nicht mehr möglich.
Das wäre allerdings wünschenswert, weil nun ein Text mit Link eingepflegt werden soll.
Gibt es eine Möglichkeit dieses Feld davon zu überzeugen, daß jetzt ein anderes Textformat gefragt ist?
Es werden ja keine Daten dadurch abgeschnitten, deshalb finde ich das Verbot "Für dieses Feld sind bereits Daten in der Datenbank. Die Feldeinstellungen können nicht mehr geändert werden." in dem Fall etwas kleinlich.
Klar, ich kann das Template überschreiben und dort sagen, daß das Feld HTML liefert und den Link als HTML eintragen.
Aber evt. gibts ja noch ne andere Möglichkeit, die ich gerade übersehe.
- Anmelden oder Registrieren um Kommentare zu schreiben
ich würde auf einer
am 21.01.2015 - 13:44 Uhr
ich würde auf einer Testplattform mal versuchen es zu ändern.
Der Unterschied liegt meinem Wissen nach in der Struktur des Feldes für den value, z.B. wenn das Feld field_intro heißt, dann ist es in der Datenbank die Tabelle:
field_data_field_intro und dort die Spalte: field_intro_value.
Dort steht bei einem Textfeld: varchar(255) und bei einem mehrzeiligen Textfeld: longtext.
Änder das doch mal und schau nach, ob du irgendwelche Probleme bekommst. Nicht vergessen, es gibt auch noch eine Revision - Tabelle, dort muß du das natürlich auch ändern.
Nach meinem Gefühl würde ich sagen, dass es klappen müßte.
Gruß
Berthold
Drupal Video-Tutorials
Ich habe das mal auf einer
am 21.01.2015 - 15:40 Uhr
Ich habe das mal auf einer Testversion getestet.
Ganz so einfach ist es nicht.
Auf jeden Fall muß man noch in der Tabelle "field_config" bei dem entsprechenden Feld den type auf "text_with_summary" setzen.
Jetzt wird in der Maske zur Pflege des Inhaltstyps korrekt der Typ "Long text and summary" angezeigt.
Wenn man danach den Cache leert, verschwinden auch erst mal die gröbsten Warnings im Backend.
Allerdings wird das Feld, um das es sich handelt immer noch als Mini-Einzeiliges Textfeld und ohne Editor-Buttons dargestellt.
Ich denke, daß man im Feld data vom Typ longblob (serialized Values) auch noch Änderungen machen müßte.
Das sieht für das betreffende Feld so aus:
a:7:{s:12:"translatable";s:1:"0";s:12:"entity_types";a:0:{}s:8:"settings";a:1:{s:10:"max_length";s:3:"255";}s:7:"storage";a:5:{s:4:"type";s:17:"field_sql_storage";s:8:"settings";a:0:{}s:6:"module";s:17:"field_sql_storage";s:6:"active";s:1:"1";s:7:"details";a:1:{s:3:"sql";a:2:{s:18:"FIELD_LOAD_CURRENT";a:1:{s:30:"field_data_field_referenz_link";a:2:{s:5:"value";s:25:"field_referenz_link_value";s:6:"format";s:26:"field_referenz_link_format";}}s:19:"FIELD_LOAD_REVISION";a:1:{s:34:"field_revision_field_referenz_link";a:2:{s:5:"value";s:25:"field_referenz_link_value";s:6:"format";s:26:"field_referenz_link_format";}}}}}s:12:"foreign keys";a:1:{s:6:"format";a:2:{s:5:"table";s:13:"filter_format";s:7:"columns";a:1:{s:6:"format";s:6:"format";}}}s:7:"indexes";a:1:{s:6:"format";a:1:{i:0;s:6:"format";}}s:2:"id";s:2:"12";}
Das müßte man sehr genau mit einem Feld abgleichen, das ebenfalls vom Typ "Long text and summary" ist.
Angesichts der langfristigen Probleme, die so eine Fummelei in der Datenbank nach sich ziehen kann, werde ich es im aktuellen Fall wohl vorziehen, im Inhaltstyp ein neues Feld zu machen und die paar Änderungen zu übernehmen.
Das geht schneller und ist weniger heikel.
Vielleicht gibts noch einen Hinweis auf ein Modul, das solche Änderungen erlaubt.
Solange trage ich mal noch nicht "Gelöst" ein.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Versuche doch mal einen
am 21.01.2015 - 16:23 Uhr
Versuche doch mal einen anderen Ansatz:
Du fügst ein neues longtext Feld bei dem Inhaltstyp hinzu und dann übernimmst du z.B. mit Feeds oder mit einem eigenen kleinen PHP Script die alten Daten aus dem Feld in das neue Longtext Feld.
Dann noch, falls es das gibt, views abändern, die auf das alte Feld zurückgreifen (das kann man überrigens sehr gut feststellen, indem man sich die Views-Tabellen in der DB anschaut).
Gruß Berthold
Drupal Video-Tutorials
Hi Berthold, klar das könnte
am 21.01.2015 - 16:33 Uhr
Hi Berthold,
klar das könnte ich machen.
Aber bis ich den Feedimporter konfiguriert habe, habe ich die paar Einträge per Hand auf ein neues Feld geswitcht.
Es sind wirklich nicht so viele...
Wenn ich es gleich gemacht hätte, wäre ich schon lange fertig. ;-)
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Hier ist eine gute
am 21.01.2015 - 18:03 Uhr
Hier ist eine gute Anleitung:
http://www.up2technology.com/blog/converting-drupal-fields/
Hey danke sehr, glycid Das
am 21.01.2015 - 18:21 Uhr
Hey danke sehr, glycid
Das sieht sehr gut aus.
Werde ich bei Gelegenheit ausprobieren, wenn mal größere Datenmengen anstehen.
Und ansonsten gilt natürlich:
Vor dem Anlegen eines Feldes in die Glaskugel schauen statt "when the field text length haven’t been planned well". ;-)
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
glycid schrieb Hier ist eine
am 21.01.2015 - 18:37 Uhr
Hier ist eine gute Anleitung:
http://www.up2technology.com/blog/converting-drupal-fields/
Das ist ja cool, der Link kommt sofort in meine Linksammlung.
Drupal Video-Tutorials