Feldtyp nachträglich ändern
Eingetragen von t2k (258)
am 09.08.2013 - 16:32 Uhr in
am 09.08.2013 - 16:32 Uhr in
Hallo Zusammen!
Gibt es die Möglichkeit in einem Inhaltstypen einen Feldtypen (momentan "Langer Text und Zusammenfassung") nachträglich anzupassen und damit in ein anderen Typen (dann "Text") zu ändern.
Da es schon Nodes angelegt sind, erhalte ich immer die Meldung:
"Für dieses Feld sind bereits Daten in der Datenbank. Die Feldeinstellungen können nicht mehr geändert werden."
Gibt es da einen (einfachen) Weg?
Oder ein Modul oä.
Vielen Dank im voraus und Grüße!
t2k
- Anmelden oder Registrieren um Kommentare zu schreiben
Nein, den gibt es nicht. Wenn
am 09.08.2013 - 19:02 Uhr
Nein, den gibt es nicht. Wenn nur wenige Nodes angelegt sind, das neue Feld zusätzlich im Datensatz anlegen, dann die Daten mittels Cut & Paste übernehmen und, wenn alle Nodes bearbeitet sind, das alte Feld löschen.
Beste Grüße
Werner
Du könntest
am 09.08.2013 - 19:03 Uhr
mit Backup and Migrate den Inhalt der Tabelle exportieren
-- die Daten löschen
-- den conten_type andern
Daten wieder importieren.
Evtl. kannst du auch feeds dazu benutzen.
Das ist ziemlich unkomfortabel...
am 15.08.2013 - 14:28 Uhr
Hallo!
Vielen Dank für eure Antworten.
Das ist aber ziemlich unkomfortabel.
Und da gibts kein Modul oder so für?
Vielen Dank und beste Grüße,
t2k
t2k schrieb Hallo! Das ist
am 24.02.2015 - 16:21 Uhr
Hallo!
Das ist aber ziemlich unkomfortabel.
Das ist wirklich eine der größten Schwachstellen von Drupal ;(
das ist ein generelles Problem
am 24.02.2015 - 16:42 Uhr
von Datenbankgetriebenen Anwendungen, und keine Drupalspezifische Sache.
ronald schriebvon
am 25.02.2015 - 10:46 Uhr
von Datenbankgetriebenen Anwendungen, und keine Drupalspezifische Sache.
Das sehe ich nicht ganz so. Wieso sollte ich ein Feld vom Typ "Text" nicht in ein Feld vom Typ "Link" ändern können? Die Eingabe ist die selbe. Nur die Ausgabe, das Rendering unterscheidet sich. Und dies hat nichts mit der DB, oder welcher Speicherlösung auch immer, zu tun.
Drupal sollte das Ändern von Feldtypen nicht generell unmöglich machen. Es reicht ein Hinweis, dass dies Daten vernichten kann. Alles andere kann der Entwickler selbst entscheiden.
Du könntest das neue Feld
am 25.02.2015 - 11:42 Uhr
Leg einfach das neue Feld an und kopiere dann die vorhandenen Werte aus dem alten "Lang Text Feld" per VBO (arbitrary PHP script) + Views in das neue Feld ... das geht ruck-zuck und unkompliziert.
Danach kannste das alte Feld löschen!
Ionit schrieb Leg einfach das
am 25.02.2015 - 12:30 Uhr
Leg einfach das neue Feld an und kopiere dann die vorhandenen Werte aus dem alten "Lang Text Feld" per VBO (arbitrary PHP script) + Views in das neue Feld ... das geht ruck-zuck und unkompliziert.
Danach kannste das alte Feld löschen!
Das hört sich gut an. Aber muss ich dann nicht auch all meine Views und die Programmierung auf das neue Feld umstellen, denn dieses muss dann ja anders heißen, oder?
Zitat: Aber muss ich dann
am 25.02.2015 - 12:47 Uhr
Aber muss ich dann nicht auch all meine Views und die Programmierung auf das neue Feld umstellen, denn dieses muss dann ja anders heißen, oder?
Genau - das muss man dann natürlich machen!
Mir ist nochwas eingefallen
am 26.02.2015 - 00:04 Uhr
Mir ist nochwas eingefallen (damit Du das alte Feld behalten kannst und die ganzen Views nicht ändern musst).
Leg einfach ein zweites Feld an und kopiere mit VBO sämtliche Inhalte aus Feld_LONG_TEXT_OLD in das neue Feld .... wenn das fertig ist, löscht Du sämtliche Inhalte aus dem alten Feld (auch mit VBO) sodass es überall empty/NULL ist.
Wenn keine Werte mehr vorhanden sind, kannst Du den Feldtyp des OLD_FIELDS ändern (der Feldname bleibt ja erhalte) .... nach dem Ändern kopierst Du mit VBO die Inhalte aus dem neuen Feld wieder zurück ins OLD_FIELD.
Dann brauchst Du die ganzen Views nicht abändern und kannst Sie weiter nutzen!
Wie schon mal gesagt ... mit VBO (arbitrary PHP script) geht das rucki-zucki ... (mit PHP script anlegen dauert das vielleicht 10 Minuten)
wie mach ich das mit VBO denn
am 10.10.2015 - 14:04 Uhr
wie mach ich das mit VBO denn genau, kann mir das jemand step by step erklären bitte?
https://www.drupal.org/node/1
am 10.10.2015 - 16:15 Uhr
https://www.drupal.org/node/1000200
Das habe ich schon gefunden,
am 10.10.2015 - 18:32 Uhr
Das habe ich schon gefunden, ich wüsste allerdings nicht wo ich den Code eingeben sollte ich finde nirgends etwas in meinem Adminmenü. Ich hab dann auch node export installiert, allerdings fehlt auch da auf der Inhalte Seite die Export Funktion vollständig :-/
Zitat:Most of the copying
am 10.10.2015 - 19:20 Uhr
Most of the copying operations require the "Execute arbitrary PHP script" action provided by VBO.
Konfiguration -> System -> Actions (dort wählst Du "Execute arbitrary PHP script")
Nach dem Anlegen der Action kannst Du sie in Deinem View (VBO) auswählen! Die VBO findest Du unter "Felder" (Bulk operations: Content). Dort wählst Du auch noch "Content: Title"! Unter "Filter" wählst Du noch den entsprechenden Content-Type!
Den Pager auf "Display all items" stellen ... dann die Views-Page aufrufen, alle auswählen und los gehts!
Falls es Probleme mit der Feld-Striktur gibt, setze "Devel" ein um Dir die Struktur anzeigen zu lassen!
Hier ein kurzes Action-Beispiel zum Ändern des Feld-Formates!
$node = node_load($entity->nid); // ...where $nid is the node id
$node->field_agentur_beschreibung['und']['0']['format'] = 'filtered_html'; // hier kommt Dein OLD_FIELD rein | NEW_FIELD = OLD_FIELD
node_save($entity);
Hallo, ich habe es zum Glück
am 10.10.2015 - 21:18 Uhr
Hallo, ich habe es zum Glück mit Node Export hinbekommen, aber Danke für deine Hilfe