Necesito ampliar el rango de campos

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
asanchez75's picture

Hola,

Necesito ampliar el rango de campos que se pueden usar. Por defecto me aparecen de - 10 a 10.

He encontrado una solución
http://drupal.org/node/117274
que consiste enhacer una modificación

Cambiamos la linea 72 del archivo system.module

$type['weight'] = array('#input' => TRUE, '#delta' => 10, '#default_value' => 0, '#process' => array('process_weight' => array()));

por

$type['weight'] = array('#input' => TRUE, '#delta' => 50, '#default_value' => 0, '#process' => array('process_weight' => array()));

Con esto,tengo hasta 100 campos que es lo que necesito pero tengo una duda. Cuando actualice a Drupal 6.2, tendré algún problema??

Agradeceré algunas luces que me compartieran.

Saludos,

Comments

@asanchez75, no entiendo

DevElCuy's picture

@asanchez75, no entiendo bien a que campos te refieres, y no te aconsejo cambiar el código del core. Por favor aclaranos la idea para poder ayudarte a con tu pregunta acerca de D6 también.

--
develCuy's fruits
(3 John 1:2) Dear friend, I pray that you may enjoy good health and that all may go well with you, even as your soul is getting along well.

--
[develCuy](http://steemit.com/@develcuy) on steemit

Lo que pasa es que por

asanchez75's picture

Lo que pasa es que por default, Drupal 5.7 trae un rango de -10 a 10 para ordenar campos. En total 20.
Yo necesito ordenar 100 campos y por lo tanto necesito ampliar el rango. He visto que el orden de un campo se almacena en la base de datos. Mi pregunta iba en ese sentido, si cuando realice el upgrade a Drupal 6.2 tendré problemas, en principio pienso que no.
Saludos,

Agrupar campos

marvil07's picture

No olvides que puedes agrupar los campos. Y luego a los grupos les puedes definir un peso también. Con eso creo que no necesitarías cambiar código :D.

Saludos

Creo que la pregunta y las

DevElCuy's picture

Creo que la pregunta y las respuestas no dejan claro el contexto.
Se trata de Form API (FAPI), por defecto está definido en system.module que la interfaz gráfica de Drupal muestre un rango de valores para realizar el ordenamiento de los campos, esto es: -10 a 10, osea 20 campos. La solución de hackear el core es modificar ese rango a: -50 a 50, osea 100 campos o 100 items.
La respuesta que dió marvil07 se refiere en específico al caso de CCK, el cual te permite ordenar los campos que se van creando en los tipos de contenido, que adicionalmente permite agruparlos, entonces pudes tener 20 grupos de a 20 campos cada uno, osea 400 campos aprox (se debe descontar los campos por defecto(no manejados por cck): taxonomy, title, body, etc). Esto solo se aplica a CCK.

Mi opinión personal es que no me parece usable un formulario de 100 campos!, creo que con 20 ya es bastante. Pero existe otra solución, Formularios multipágina: http://drupal.org/node/101707 o también conocido como wizard. También es posible hacer lo mismo con el módulo jstools, que incluye un control llamado Tab page, basado en Javascript y da la sensación de ser más rápido, pero si son 100 campos sería muy cargado para el browser incluso a pesar de usar jquery.

En general para mi es un caso extremo pero esta bueno probar Drupal "al máximo".

Espero que ahora se pueda entender un poco mejor ahora este tema.

--
develCuy's fruits
(3 John 1:2) Dear friend, I pray that you may enjoy good health and that all may go well with you, even as your soul is getting along well.

--
[develCuy](http://steemit.com/@develcuy) on steemit

fielsets en FAPI

marvil07's picture

Sólo acotar que también es genérico. CCK usa FormAPI, es decir se pueden crear fieldsets a mano también, y luego asignarles un peso, con lo que se logra la funcionalidad que mencioné :D

Gracias DevelCuy, el asunto

asanchez75's picture

Gracias DevelCuy, el asunto quedo claro.
100 campos no es nada, una vez implementé un form de 142 campos :)
Saludos,

Hoy me topé con este

DevElCuy's picture

Hoy me topé con este problema por accidente y conseguí hookear (de forma muy obscura), la solución no es parchar :)

<?php
function mymodule_elements() {
 
$type = array();
 
$type['weight'] = array('#process' => array('mymodule_process_weight' => array()));
  return
$type;
}

function
mymodule_process_weight($element) {
 
$element['#delta'] = 100; // <---- pongan el número que necesiten
 
$element = process_weight($element);
  return
$element;
}
?>

Creo que podríamos hacer un concurso para encontrar problemas que no se pueden hokear en Drupal :)

--
more stuff...
(3 John 1:2) Dear friend, I pray that you may enjoy good health and that all may go well with you, even as your soul is getting along well.

--
[develCuy](http://steemit.com/@develcuy) on steemit

de cajón, lo mejor siempre

asanchez75's picture

de cajón, lo mejor siempre es hookear. Había otra solución parcial

http://remarka.ru/drupal/weight_range-5.x-0.1.tar

Saludos

Sitio en blanco, solo con texto

lulumariposa's picture

Hola, mi sitio repentinamente dejo de mostrar las imagenes, los menús... o sea, los muestra pero solo el texto, sin imágenes ni estilos de menú, nada! Esto solo me sucedía cuando la conexión se demoraba un poco, el sitio cargaba primero el texto pero rato después empezaba a cargar los estilos y las imágenes... Ahora no! No carga nada, solo los links, todos a la izquierda de arriba hacia abajo, yo tenía un menú horizontal y ahora aparecen los links pero a la izquierda y sin ningún estilo.
Eliminé la base de datos y volví a importarla (con una versión anterior) pero nada... Lo peor es que sucedió de repente, no fue al momento de haber realizado alguna modificación. Aumenté la memoria del php (memory_limit) pero tampoco...
Alguien puede explicarme como solucionar esto? Se lo agradecería muchooooo!!!!