Tengo un campo que es texto de tipo y quiero convertirlo a tipo Lista (texto) en Drupal 7. No puedo simplemente cambiar el valor, ya que ganó ' Déjame, ¿hay alguna manera fácil de hacer esto?convertir texto de campo a List (texto) drupal 7
Respuesta
No hay una manera fácil, no. Por lo que yo puedo decir que son la base de datos manual de los cambios que necesita hacer:
En cambio
field_config
la columna de latype
a 'LIST_TEXT' ymodule
la columna de 'lista' para su campo.Luego tendrá que cambiar la matriz serializada en la columna
data
para que coincida con la de un tipo de lista (obviamente tendrá la configuración para los tipos de texto en este momento). No hay una manera fácil de mostrarle cómo hacerlo aquí, la mejor manera sería comparar la matriz serializada con una para un campo diferente de un tipo de lista, luego podrá ver qué valores necesita eliminar/cambiar . La matrizallowed_values
bajosettings
será donde coloque los valores de su lista. Una vez que esto haya cambiado, vuelva a serializarlo y vuelva a colocarlo en la columnadata
para su campo.Después de que retire las columnas de
field_data
field_revision
y tablas de su campo que comienzan confield_myfield_
pero no sonfield_myfield_value
(el tipo de lista sigue siendo necesario que la columna).Agregue un índice a esas tablas para la columna
value
.claras sus caches
debo advertir que eso es, no está comprobado que sólo parece tener sentido mirar las estructuras de la tabla, que sería una buena idea tener una copia de seguridad de las tres tablas que Estaré jugando solo por las dudas.
acabo de escribieron un código que debe manejar esto para usted en mi Helper module: http://cgit.drupalcode.org/helper/tree/lib/FieldChangeHelper.php?h=7.x-1.x
FieldChangeHelper::changeType('my_text_field_name', 'list_text');
que debería funcionar bien para los casos más simples y campos, pero debe ser probado a fondo. Además, actualmente no actualiza ningún formateador de campo, por lo que querrá revisar la configuración de visualización para el campo después de ejecutar esto.
Gracias, hombre - que funcionó muy bien y ahorró un montón de tiempo :) –
- 1. Grupos de campo/conjuntos de campo condicionales en Drupal 7
- 2. Drupal 7 cómo representar el campo personalizado
- 3. Convertir audio a texto
- 4. Drupal 6 contraseña de usuario importada a Drupal 7
- 5. texto claro onclick - campo de texto
- 6. convertir texto a imagen en php
- 7. Drupal 7: Acceso al campo de nodo personalizado en page.tpl.php
- 8. Convertir texto en PascalCase
- 9. Añadir texto a los campo de entrada
- 10. Convertir campo de fecha en texto en Excel
- 11. cómo convertir texto HTML a texto sin formato?
- 12. códigos de convertir HTML a texto plano
- 13. Convertir archivo pdf a archivo de texto
- 14. Agregar campo CCK al formulario personalizado en Drupal 7
- 15. Necesito convertir el campo de Texto a Varchar temporalmente para poder pasar a un procedimiento almacenado
- 16. Drupal 7 drupal_mail eliminando HTML?
- 17. ¿Debo usar Drupal 6 o Drupal 7?
- 18. Convertir leet-speak a texto claro
- 19. Cómo convertir reStructuredText a texto sin formato
- 20. Convertir texto a PDF en PHP
- 21. Convertir voz a texto en iphone
- 22. Drupal 7: Mejor práctica para una lista de selección dinámica en Drupal 7
- 23. ¿Convertir texto tabulado a html lista desordenada?
- 24. Convertir XML a texto escapado en XSLT
- 25. Drupal 7 - Vistas - ¿Dónde se ha ido la funcionalidad de "texto vacío"?
- 26. Módulo Drupal 7 OpenID
- 27. Cómo agregar JS a Drupal 7
- 28. HTML \ texto enriquecido en el título del nodo de Drupal?
- 29. Drupal 7 Default .htaccess
- 30. Cambiar el color del texto en el campo de texto
¡Funcionó como un encanto! Gracias –
También tuve que cambiar el tipo de widget, lo cual puede hacer editando los datos directamente en 'field_config_instance', o editando el campo y seleccionando" Seleccionar "o" Casillas de verificación "como el tipo de widget. También como consejo, me pareció más fácil seleccionar primero el campo y usar esa información serializada para editar la columna existente. Básicamente, solo necesita cambiar el nombre (y las longitudes de los caracteres para esas entradas) y la ID. – Wayne