simple side php drupal drupal-fapi drupal-alter

php - side - hierarchical select drupal 7



Valores predeterminados para los campos de Content Taxonomy en Drupal con el widget Hierarchical Select (2)

(NOTA: Asumiendo Drupal 6 aquí)

Al mirar un ejemplo local, mis campos de taxonomía de contenido no tienen una propiedad ''tids'', pero solo uso campos del tipo ''optionwidgets_buttons'', por lo que podría ser diferente si usa otros tipos de widgets. ¿Podría publicar un volcado de la estructura de campo Taxonomía de contenido del formulario que está tratando de manipular?

En otra nota, los campos de taxonomía de contenido tienen una lógica de interacción especial con respecto a su "conversión" de nuevo al formato de matriz de taxonomía estándar más adelante en el procesamiento de forma / nodo, que podría afectarlo. ¿Su problema es que sus cambios en los valores predeterminados no se muestran en absoluto en la visualización inicial del formulario, o se muestran, pero no se procesan más tarde?

Editar (después de la actualización de la pregunta): Lo siento por la respuesta tardía. No estoy seguro, pero mirando su definición de campo, el tipo muestra como hierarchical_select , lo que indicaría un widget de selección jerárquica ''independiente''. Cuando se utiliza junto con la taxonomía de contenido, el código del submódulo ''hs_content_taxonomy'' me haría esperar un tipo de content_taxonomy_hs lugar. Todo esto es solo una conjetura, y no tengo el tiempo para probarlo localmente, pero es posible que desee comprobar si está utilizando la combinación / configuración correcta del módulo.

Otra cosa sería verificar la configuración de ponderación de los módulos en relación con los módulos de selección jerárquica, también es una suposición descabellada, pero tal vez su alteración deba tener lugar antes o después de que la selección jerárquica haga su magia, por lo que es posible que desee probar con pesos ajustados en su módulo.

Estoy intentando establecer el valor predeterminado para un campo Taxonomía de contenido en un hook_form_alter, pero no puedo precisar el formato necesario. He intentado esto y muchas variaciones:

foreach (element_children($form) as $child) { // Set $default_value. if ($form[$child][''tids'']) { // This, for Content Taxonomy fields, isn''t working: $form[$child][''tids''][''#default_value''] = array(''value'' => $default_value); dsm($form[$child][''tids''][''#default_value'']); } else { // This, for other fields, is working: $form[$child][0][''#default_value''][''value''] = $default_value; } }

¿Alguien puede decirme lo que me estoy perdiendo?

Editar: En respuesta a Henrik Opel (gracias por involucrarse), aquí está la impresión del campo relevante del formulario con mis cambios a los campos predeterminados comentados, mostrando el campo ''#default_value'' sobre el que trato de influir.

También muestra que el widget de opción que estoy usando es Selección jerárquica (¿podría ser esto un factor?). En dsm () en el código anterior, los cambios en el valor predeterminado se reconocen, pero no se procesan más adelante.

field_name_of_content_taxonomy_field (Array, 3 elements) #tree (Boolean) TRUE #weight (String, 1 characters ) 5 tids (Array, 7 elements) #title (String, 10 characters ) Vocabulary_name #type (String, 19 characters ) hierarchical_select #weight (String, 1 characters ) 5 #config (Array, 15 elements) // 15 elements here #required (String, 1 characters ) 0 #description (String, 0 characters ) #default_value (Array, 0 elements)


Resulta que la respuesta estaba en la documentación: http://drupal.org/node/319190

He cambiado el nombre de la pregunta para dejar en claro dónde estaba el problema. Esto reduce la pregunta a un caso de uso bastante específico, pero tanto la taxonomía de contenido como la selección jerárquica son módulos útiles y recomendados para tratar con grandes taxonomías.