Multi campo de selección de alojamiento Drupal

He retocado el parche de arriba para hacer más agradable para el código, junto con la adición de comentarios. Creo que necesita un poco de discusión que se tenía acerca de cómo manejar múltiples selecciona embargo, debido a que en el primer parche que sólo devuelve cierto si los dos conjuntos coinciden exactamente. Donde como mi parche volverá cierto siempre y cuando los valores dados en #states se seleccionan en el cuadro de selección, incluso si hay valores adicionales.

Así por ejemplo, si la estructura de mi forma se parece a esto

voluntarios Drupal campo de selección de alojamiento múltiples comentó

y en mi cuadro de selección que tengo "True' y 'falso' tanto recogió entonces mi parche se evalúa como verdadera. Me pregunto si hay no tiene que ser una especie de llave extra en la API de estado para indicarle que haga exacta o inclusiva comprobación, aunque creo que ya es otro tema para que en algún lugar.

¿Cómo es en este momento creo que este parche al menos soluciona un problema actual y la limitación de los Estados API.

Antoine Vigneau Atribución de crédito: Antoine Vigneau comentó 10 julio de 2013 a 13:23

Me despierto este hilo porque estoy experimentando este problema en 7,21.

Quiero tener un selector #states a juego todo elemento de selección de un campo de valor múltiple. Mi campo es una referencia de entidad y el widget es una lista Selecciona múltiple. Pero al final, lo que normalmente podría seleccionar todos estos elementos usando: valores de campo # dependee de tipo .Form-seleccionar seleccione. Espero que los reacciona depende de todos los elementos seleccionados de la dependee, de hecho, que reacciona a nada (siempre muestran).
Lo único que funciona es el campo-dependee valores #-tipo-.Form seleccionar selecto: en primer lugar, pero sólo funciona para el primer elemento de selección.

Aquí está mi declaración #states en un form_alter (está en un formulario de edición de nodo):

El dependiente debe reaccionar a varios valores del dependee, por lo tanto, la matriz de 'valor' múltiple.

He intentado otro tipo de selector con el nombre también, pero el atributo de nombre tiene esta estructura: name_field_dependee [und] [0] [target_id], así que traté de selección [name = "name_field_dependee [] [] []"]. doen't trabajo. He aplicado el parche # 19 también, pero la comparación no se detectó como una matriz.

Extracción de la etiqueta de novato, porque creo que no hay ninguna tarea de novatos que quedan pendientes.

He revisado manualmente el parche. Lo único que se me ocurre para mejorar este parche sería volver FALSO por defecto, iterar sobre los valores y devolver TRUE si todos ellos existen. Además de eso nitpick, el parche funciona como un encanto y la comisión de este parche podría desbloquear # 2635664: Hacer que el ocultar / mostrar de otro trabajo de campo .. yo creo que para ello que un cambio en la lógica no debería contener la solución de este problema.

Aterrizar este parche desbloquea # 2635664: Hacer que el ocultar / mostrar de otro trabajo de campo .. por lo que he añadido la etiqueta bloqueador proyecto contribuyó.

Multi Drupal campo de selección de alojamiento Hacer el

legolasbo Atribución de crédito: legolasbo como voluntario comentó 28 de diciembre de 2015 a las 20:32

3 archivos se oculta / muestra / borrados

PASADA: [[SimpleTest]]: [PHP 5.4 MySQL] 95704 pase (es). Ver

Para tomar esta casa realmente he escondido algunos archivos irrelevantes e hice algunas capturas de pantalla antes / después.

legolasbo Atribución de crédito: legolasbo como voluntario comentó 28 de diciembre de 2015 20:33

3 archivos se oculta / muestra / borrados

ERROR: [[SimpleTest]]: [PHP MySQL 5.4] No se puede aplicar el parche estados de selección múltiple-fix-1149078-22.patch. No es posible aplicar el parche. Consulte el registro en el enlace de datos para obtener más información. Ver

PASADA: [[SimpleTest]]: [PHP 5.4 MySQL] 77600 pase (es). Ver

PASADA: [[SimpleTest]]: [PHP 5.4 MySQL] 92253 pase (es). Ver

alexpott Atribución de crédito: alexpott en el Capítulo Tres comentó 4 de enero de 2016 a 16:44

Revisado probado por la comunidad

Esto realmente me hace desear que teníamos pruebas de interfaz.

También esto falla nuestra validación eslint con los siguientes errores.

Después de leer a través # 735528: FAPI #states: Fijar los condicionales para permitir OR y XOR construcciones llegué a la conclusión de que este cambio en el # 45 era probable que no sean necesarios y no es relevante para la funcionalidad. Esto significa que el error eslint se introdujo sin ninguna razón y la línea en cuestión no debe ser eliminado, pero volvió a su estado original.

Pongo mi teoría a prueba (manual) y la conclusión de que el cambio a la línea en cuestión de hecho puede ser revertida sin romper la funcionalidad añadida en el # 45. Adjunto encontrará un nuevo parche que revierte la línea en cuestión de nuevo a la forma en que está en la mente.

neoaptt Atribución de crédito: neoaptt como voluntario comentado 2 de febrero de 2016 a 23:03

Hay un problema si pasa valores enteros para ser comparadas entre sí.

si asigna los valores enteros a cadenas, entonces obtendrá los resultados correctos.

Debido a que el valor por defecto de multiselects es nulo, el reevaluar pasa por encima de ella. Pensando que es nulo el mismo valor como nulo.

Traté de llegar a una solución, pero lo mejor que puedo hacer es pasar un valor por defecto. Eso no es una solución sea cualquier medio.

EDIT: fijo, omita las comprobaciones nulos.

Drupal 8.0.6 fue lanzado el 6 de abril y es la liberación de corrección de errores final para la serie 8.0.x Drupal. Drupal 8.0.x no recibirá ningún desarrollo adicional aparte de parches de seguridad. Drupal 8.1.0-RC1 está disponible y sitios debe prepararse para actualizar a 8.1.0.

Los informes de fallos deben ser dirigidos contra la rama 8.1.x-dev de ahora en adelante, y el nuevo desarrollo o cambios perjudiciales deben ser dirigidos contra la rama 8.2.x-dev. Para obtener más información, consulte el calendario de la versión de Drupal 8 menores y los cambios permitidos durante el ciclo de liberación de Drupal 8.

Ahora tenemos una base de prueba Javascript, por lo que añadir las 'necesidades tests' etiqueta.

sukanya.ramakrishnan Atribución de crédito: sukanya.ramakrishnan comentó 25 de de mayo de 2016 a 21:29

Se ha aplicado una solución al núcleo para este problema?

deranga Atribución de crédito: deranga comentó 12 de julio de 2016 a 16:28

parche aplicado desde el comentario # 52 a states.js en Drupal 7.50 y esto funciona como se espera ahora para multivalor campo de selección.

Será este parche siempre puede rodar en una actualización de Drupal 7?

deranga Atribución de crédito: deranga comentó 12 de julio de 2016 a 16:25

Disculpas cambiados accidentalmente número de versión para su emisión.

legolasbo Atribución de crédito: legolasbo como voluntario comentó 12 de julio de 2016 a 20:28

Drupal 8.1.9 fue lanzado el 7 de septiembre y es la liberación de corrección de errores final para la serie 8.1.x Drupal. Drupal 8.1.x no recibirá ningún desarrollo adicional aparte de parches de seguridad. Drupal 8.2.0-RC1 está disponible y sitios debe preparar la actualización a 8.2.0.

Los informes de fallos deben ser dirigidos contra la rama 8.2.x-dev de ahora en adelante, y el nuevo desarrollo o cambios perjudiciales deben ser dirigidos contra la rama 8.3.x-dev. Para obtener más información, consulte el calendario de la versión de Drupal 8 menores y los cambios permitidos durante el ciclo de liberación de Drupal 8.

sukanya.ramakrishnan Atribución de crédito: sukanya.ramakrishnan comentó 18 de de enero de 2017 a 06:55

Puede esta cuestión será objeto de nuevo? He intentado aplicar el parche, pero no funciona para mí. Creo que voy mal con la sintaxis de la propiedad estados. Por favor alguien puede acabar con la sintaxis correcta para un campo de selección múltiple para que yo pueda volver a intentarlo. Básicamente necesito un campo a ser visible sobre la base de múltiples valores elegidos en un campo de selección (o condición)

Estoy trabajando en pruebas.

Hay algunos cambios a realizar para # 54.

propiedad múltiple no se debe utilizar el valor predeterminado definido nula. Valor nulo por defecto es un problema para la propiedad #multiple sino también #size propiedad.
Ambos son específicos a la lista seleccione pero debemos encontrar otra solución más genérica.

Es mejor utilizar $ this-> reevaluar () al final de states.Dependent.prototype.initializeDependee, lo que obliga a analizar las condiciones Unidos y solicitar eventos.

GoZ crédito Reconocimiento: GoZ en el Commerce Guys comentó 19 de de enero de 2017 a 16:33

2 archivos se oculta / muestra / borrados

Por último, no estoy seguro de que este tema es el lugar para añadir pruebas. Otro tema en curso está cubriendo pruebas #states # 2702233: Añadir Javascript para pruebas #states del Formulario API por lo que debemos añadir pruebas #multiple allí.

Siguiente parche soluciona problema nulo por defecto tanto para #multiple y #size atributo cuando compruebo en mi navegador, pero visones parece no estar de acuerdo con eso. Muy extraño, puede ser que deberíamos investigar en cuestión específica.

sukanya.ramakrishnan Atribución de crédito: sukanya.ramakrishnan comentó 25 de de enero de 2017 a cuarenta y un minutos después de la una

Fue finalmente capaz de conseguir el funcionamiento de parche. prueba manual está muy bien para mí.

sukanya.ramakrishnan Atribución de crédito: sukanya.ramakrishnan comentó 25 de de enero de 2017 a 01:44

Atribución de gotas de crédito: gota comentó 25 de de enero de 2017 a 20:59

La siguiente función devuelve cuando se cumple la condición. No necesitamos un bucle sobre cada elemento.

25 de de enero de 2017 a 20:59

Drupal 8.2.6 fue lanzado el 1 de febrero 2017 y es la liberación completa de corrección de errores final para la serie 8.2.x Drupal. Drupal 8.2.x no recibirá ningún desarrollo adicional aparte de correcciones críticas y de seguridad. Los sitios deben prepararse para actualizar a 8.3.0, el 5 de abril de 2017. (Drupal 8.3.0-alfa1 está disponible para la prueba.)

Los informes de fallos deben ser dirigidos contra la rama 8.3.x-dev de ahora en adelante, y el nuevo desarrollo o cambios perjudiciales deben ser dirigidos contra la rama 8.4.x-dev. Para obtener más información, consulte el calendario de la versión de Drupal 8 menores y los cambios permitidos durante el ciclo de liberación de Drupal 8.

leisurman Atribución de crédito: leisurman comentó 9 de marzo de 2017 a 17:32

He probado el parche 52 y 69, pero su aún no funciona

Pavan B S Reconocimiento de crédito: Pavan B S al Valuebound comentó 9 de marzo de 2017 a 17:57

Se ha aplicado el parche # 69 y se fija manualmente el error estándar de codificación "Línea está excediendo 80 caracteres".

9 de marzo de 2017 a 18:12

sukanya.ramakrishnan Atribución de crédito: sukanya.ramakrishnan comentó 9 de marzo de 2017 a 18:13

@leisurman, me encontré con que tenía para borrar la caché del navegador, además de drush cr conseguir este trabajo. raro, pero vale la pena darle una oportunidad!

leisurman Atribución de crédito: leisurman comentó 9 de marzo de 2017 a 18:51

@ Sukanya.ramakrishnan ¿Qué hizo el parche se utiliza # 75. No he probado que uno.

leisurman Atribución de crédito: leisurman comentó 9 de marzo de 2017 a 19:25

Me aclaré la caché del navegador y Drupal. Patch # 75 no funcionó para mí. Me sale este aviso. php advertencia Advertencia: Invalid argument supplied for foreach () en conditional_fields_states_handler_select_multiple () (línea 29 de /var/www/html/d818/modules/conditional_fields/conditional_fields.states.

Estoy usando la forma de gancho altera, pero también probé el módulo de campos condicional, esto es su problema:
https://www.drupal.org/node/2857718
Este módulo funciona en Drupal 7 cuando el campo se dependee seleccionar un múltiplo

sukanya.ramakrishnan Atribución de crédito: sukanya.ramakrishnan comentó 9 de marzo de 2017 a 19:48

@leisurman, utilicé la de 69. yo no probamos cualquier otro módulo. ¿Es U de que su sintaxis es correcta? Tuve problemas con mi sintaxis y después de averiguar la sintaxis correcta, he actualizado la descripción de este tema para mostrar la correcta (La descripción faltaba algo antes, no puedo recuerdo). Por favor, compruebe su sintaxis contra el ejemplo en la descripción de este problema.

¡Mira este video!

Artículos relacionados

campos de valor múltiple de alojamiento DrupalHe creado una regla que cuando se crea su mensaje en nuestro sistema de tickets, tenemos un campo CCK nodo de referencia eran el usuario puede seleccionar; se envía un correo notificando al usuario. Hice una regla para ...
Ver campo de valor de alojamiento DrupalDevuelve una matriz renderable para un único valor del campo. Parámetros $ ENTITY_TYPE. El tipo de $ entidad; p.ej. 'Nodo' o 'usuario'. $ Entidad. La entidad que contiene el campo para mostrar. Debe por lo menos ...
Fecha de creación de campo Hosting DrupalEste paquete contiene un campo de fecha flexibles fecha / hora Tipo de campo y una API Fecha otros módulos que se pueden utilizar. Las versiones D5 y D6 del campo Fecha requieren el kit de construcción de contenido ...
Arreglar los enlaces rotos de alojamiento DrupalEstoy poniendo mi primer "verdadero" sitio online de Drupal. Pero. Me he encontrado con un obstáculo. Después de migrar la base de datos y archivos a un servidor en vivo. Todos los enlaces en el sitio se rompen a excepción de la ...
Tipos de bloques de alojamiento DrupalHola. Necesito una ayuda con Drupal 8 plantillas, por favor. He creado un bloque personalizado, puedo crear un tema para el bloque personalizado (el ejemplo), pero no puedo crear un tema para el bloque de un tipo de ...