Buenos días/tardes/noches.
Entre otras cosas, estoy buscando la forma de crear una vista que muestre los registros que coincidan con el contenido de otro campo en específico.
En realidad son varias preguntas en una, pero trataré de explicar el contexto:
Sitio web: Transportistas (se asignan servicios "viajes" a conductores de varios tipos de transporte: Uber, mensajería, turismo, taxi...).
El admin crea un nodo "viaje" con los datos (fecha, hora, origen, destino) que los demás usuarios (conductores) revisarán para elegir los servicios que quieran hacer.
Hay un campo "Status del viaje" que inicialmente está en DISPONIBLE, y que esperamos que cada conductor pueda cambiar a ASIGNADO (o también, en su caso, CANCELADO, CUMPLIDO, etc).
Hay un campo "conductor", con contenido tipo "User", que puede contener el nombre de Usuario de cualquiera de los conductores. El admin lo deja vacío y la idea es que cualquier conductor pueda tomar ese viaje (poner su usuario como valor de ese campo).
PREGUNTA 1:
¿Cómo lograr que cualquier conductor pueda ver el contenido de todos los campos, pero editar solamente los campos que queremos permitirle cambiar para que el sitio cumpla su función (Status del viaje y Conductor)?
PREGUNTA 2:
¿Cómo podría hacerse que el conductor pueda ponerse a sí mismo (su User) en "Conductor", sin que pueda elegir ninguna otra opción más que ésa? Editarlo o hacer alguna acción tras la cual el contenido del campo "Conductor" sea el nombre de ese usuario.
PREGUNTA 3:
Después ¿Es posible hacer una vista que muestre a cada usuario los "viajes" que él ha llevado a cabo (sólo los de él)? Una vista con un filtro sobre el campo "Conductor" que muestre solamente las coincidencias del nombre de ese Usuario en el campo "Conductor". Ojo: 1) En cada usuario sería diferente esa búsqueda, por lo que no sirve crear una vista con un filtro simple, que busque un texto estático "x". 2) No se trata del campo "autor" del nodo (siempre es el admin), sino el usuario mencionado en el campo "conductor", de tipo User.
Espero haberlo explicado con suficiente claridad. Si no, estoy a la orden para preguntas y aclaraciones. ¡Gracias!
Comments
Hola Fermoon, Pregunta 1:
Hola Fermoon,
hook_menu, la idea es crear una ruta por ejemplo:<?phpfunction mi_modulo_menu() {
$menu = array();
// El '%' es un comodin, el cual seria el id del nodo de tipo ruta.
$menu['node/%/asignar'] = array(
'access callback' => 'user_is_logged_in'
'page callback' => 'mi_modulo_asignar_ruta',
'page arguments' => array(1),
'menu type' => MENU_CALLBACK
);
return $menu;
}
?>
¡Voy a estudiarlo!
¡Gracias w4lt3r! Voy a tratar de implementar tus consejos.
Mi nivel es intermedio (tomándolo con alta autoestima, para no decir bajo, lo cual sería baja autoestima, jejeje). En las preguntas 1 y 3 creo que no habrá mayor problema; la de la la 2 espero no equivocarme al aplicarlo.
Sí, en cuanto a la 2 yo había pensado que, en lugar de que el "conductor" editara manualmente esos campos, ponerle una especie de botón que simplemente él clickeé para asignarse ese "viaje" (en realidad no necesitamos que el edite nada de forma consciente, sino solamente que él pueda indicar "yo quiero este viaje", y listo). Lo malo es que no tengo el nivel para programar desde cero. Entonces, aunque me falta aplicar tu secuencia para entender cómo funciona exactamente, con ella me ayudas muchísimo.
Me pongo a trabajar y te cuento mis progresos (si es que los hay, jajaja!).
Bueno si tienes dudas con
Bueno si tienes dudas con gusto escribelas y vemos de que manera te ayudamos.
Problema con versiones de Drupal (7 y 8).
Me está costando trabajo decidirme por una de las dos versiones de Drupal (7 u 8).
Por una parte, he esperado mucho para que la versión 8 madure y sea lo suficientemente robusta para que valga la pena el cambio (en muchas cosas lo es con mucho). Sin embargo, muchos de los módulos no existen todavía.
Decidí formar este proyecto en versión 8, pero me he encontrado con que muchas de las cosas que ya tenía resueltas en 7, no están implementadas en 8.
Es el caso del módulo FieldAccess.
Es mi reporte; seguiremos informando...
Pues hay varias variables que
Pues hay varias variables que tenes que tomar en cuenta para optar entre la versión 7 y 8, como por ejemplo:
Si bien es cierto que muchos recomiendan usar la versión 8 tienes que ver si tienes el conocimiento adecuado para hacer y/o modificar lo que te haga falta y dependiendo del tamaño del proyecto esa decisión es clave para el exito o fracaso de tu proyecto.