it-swarm-es.com

CCK ¿Campo con dos valores?

¿Hay alguna forma de que un campo CCK tenga dos valores para una entrada?

Por ejemplo, un campo llamado 'Sodio' y dos valores, '190 mg' y '8%'; el primero es la cantidad y el segundo el% del valor diario.

Si no es así, ¿cuál es la mejor manera de lograrlo?

Editar:

La mejor solución que estoy buscando serían conjuntos de Fieldgroups, y cada fila tiene 3 entradas. Etiqueta | valor (obligatorio) | valor (opcional) - entonces, sodio | 190 mg | 8%

4
Kevin

Eche un vistazo a las opciones de varios grupos de CCK, que son solo una parte de CCK 3.0+. Esta funcionalidad le permite combinar varios campos base en una agrupación de campos. Vea http://drupal.org/node/119102 para el largo historial sobre cómo sucedió esto.

De hecho, no puedo encontrar una buena documentación sobre su uso, ya que CCK 3.0 todavía está solo en Alpha, por lo que desafortunadamente solo tendrás que jugar con él.

La otra opción es escribir su propio tipo de campo CCK, en el que no hay problemas para crear múltiples entradas para un campo. El resultado es que definitivamente puede lograr esto usando su propio campo personalizado, las desventajas son que está escribiendo código personalizado (que es bueno evitarlo) y no es tan flexible como las opciones multigrupo integradas en CCK 3.0

6
beeradb

¿Quiere combinar dos campos cck en uno, de alguna manera?

Puede usar dos campos separados 'mg de sodio' y '% de sodio' y agregar un campo calculado, de modo que pueda combinar los valores de esos dos campos en un campo, por ejemplo, 'valores de sodio'.

Más información sobre el módulo Campo calculado para hacer posible dicho campo calculado (desde su página de proyecto):

Campo calculado es un módulo de campo muy potente que le permite agregar "campos calculados" personalizados a sus tipos de contenido. Estos campos calculados se completan con valores que usted define a través del código PHP. Puede utilizar cualquier cosa disponible para Drupal, incluidos otros campos, el usuario actual, tablas de base de datos, lo que sea. ¿potencia todavía? :)) También puede elegir si desea almacenar sus valores de campo calculados en la base de datos con otros campos de contenido, o hacer que se "calculen" sobre la marcha durante las vistas de nodo. (Aunque debe tener en cuenta que el uso de Vistas requiere valores almacenados en la base de datos). Este campo es literalmente la navaja suiza de campos. Así que empieza a cocinar tus valores basados ​​en PHP!

2
30equals

Puede que me esté perdiendo algo, pero lo más fácil sería ingresar toda la cadena "Sodio | 190 mg | 8%" en el campo de texto y luego analizar los valores a nivel de tema para hacer lo que sea necesario: ponerlo en la tabla , hacer un gráfico, etc. Debajo del campo de texto, ponga un ejemplo, problema resuelto. No se requiere alfa.

1
d3l3t3m3

Puede agregar todos los datos que desee a un solo campo CCK, pero necesita un tipo CCK que admita esto.

Con CCK puede especificar cómo debe ser el almacén de datos (field_settings), cómo debe ser el formulario para ingresar (widget) y cómo debe ser representado el campo (formateadores).

No tiene muy claro cómo quiere las cosas, pero lo más fácil de hacer sería crear una entrada/almacenamiento único y usar un formateador personalizado para mostrar el valor único como dos, basado en alguna expresión regular o similar .

También puede crear su widget, que crearía un formulario personalizado para el campo y cómo se deben almacenar los datos. Si se configuran varios valores para el campo, puede usar delta para separar los valores. Esto requiere un conocimiento más profundo del funcionamiento interno de CCK, pero le brindaría un mejor control de los datos.

La documentación sobre cómo hacer todo esto es muy limitada, pero mirar otros módulos le dará una idea de cómo hacerlo.

0
googletorp

El módulo que le permite lograr esto en Drupal 6 se llama Multigroup, y es parte de CCK 3.x, que tiene una versión alfa. Este módulo le permite agregar múltiples campos a un fieldset, y luego presenta el fieldset en la forma familiar de 'agregar otro' que usa CCK para campos de múltiples valores.

0
jhedstrom