Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múltiples

Estas en el tema de Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múltiples en el foro de Drupal en Foros del Web. Hola buenas. Tengo una entidad, "Abogados", que tienen nombre, apellidos, email, etc. Y tengo otra entidad que referencia a esta. Al hacer una búsqueda en ...
  #1 (permalink)  
Antiguo 12/06/2017, 03:18
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 8 meses
Puntos: 10
Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múltiples

Hola buenas.

Tengo una entidad, "Abogados", que tienen nombre, apellidos, email, etc.

Y tengo otra entidad que referencia a esta.

Al hacer una búsqueda en el campo de referencia, mediante el sistema de Drupal de "autocompletar" me aparecen resultados duplicados:
Pablo
Pablo
Pablo
Pablo

¿Cómo puedo hacer para que el campo de referencia saque "Nombre + Apellido" cuando haga búsquedas?

La intención es que el campo de referencia me de resultados del tipo:
Pablo Gómez
Pablo Martínez
Pablo Iglesias
Pablo Ruíz

¿De qué manera se puede conseguir esto?


Gracias de antemano.

Un saludo.
  #2 (permalink)  
Antiguo 12/06/2017, 04:26
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 12 años, 6 meses
Puntos: 47
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Hola,

¿Que título le das al abogado? yo es que en ese caso lo que haría sería poner el title como "pablo Gómez" y luego aparte si es necesario, le puedes poner esos dos campos para usarlos para lo que quieras.
También con un hook, te puedes auto rellenar cuando completes la ficha un campo que sea "nombre compuesto" y que lo que haga es coger el campo nombre y el campo "apellido" y rellenartelo automáticamente con los dos. Luego las búsquedas las hagas por ahí.
No sé si realmetne te es necesario tener un campo para algo tan genérico como el nombre, pero si es así, o bien lo buscas por apellido, o lo que creo que es mejor opción, por el titulo que tiene el nombre compuesto o por un ese campo generado con el nombre y apellido compuesto.
Aún así, este nombre compuesto, yo lo pondría como apellidos y nombre (Gómez, Pablo) mejor que busques en el atocompletado con la inicial del apellido que es menos genérico.

No sé si me explico

Pero vamos, que no te está mostrando campos duplicados.
  #3 (permalink)  
Antiguo 12/06/2017, 06:16
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 8 meses
Puntos: 10
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Hola JustinKO.

Lo primero, gracias por contestar.

Se que los campos no son duplicados, se que son diferentes, solo que al no tener el apellido, parecen duplicados.

Respecto a usar un campo "Nombre + Apellido" me genera el problema de que cuando el cliente se encargue de dar de alta contenidos, si no lo rellena, no funcionará.

Por eso, quería mediante algún módulo o alguna manera programada, que los campos relacionales a esta entidad (abogados) se busque por la unión de TITLE + LASTNAME


A cada "Abogado" le doy como título el nombre (y es de ahí que el auto completado SOLO saque el nombre al hacer búsquedas en el campo relacionado).


No entiendo bien el cómo hacerlo por medio de hook.

¿Podrías darme más información al respecto?

Gracias!!!!
  #4 (permalink)  
Antiguo 12/06/2017, 13:19
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Para hacerlo a traves del Hook, debes especificar cual es la version de Drupal que utilizas.
  #5 (permalink)  
Antiguo 12/06/2017, 13:24
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Bueno, pido disculpas, porque no ví que era para Drupal 8.

Yo lo que haria si fuera tu es lo siguiente:
Instalaría este modulo
https://www.drupal.org/project/auto_entitylabel

Con este modulo, puedes hacer que cuando guardes un nodo tipo abogados, automáticamente el titulo se genere ya sea como Nombre + Apellido y hasta la fecha de creación si deseas.
y en la otra entidad automáticamente pongas el nombre, te saldrán todos los notos tipo abogados.

Cualquier cosa, me dejas saber.
  #6 (permalink)  
Antiguo 12/06/2017, 13:41
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 12 años, 6 meses
Puntos: 47
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Creo qeu darle como título el nombre es un error, ¿cuantos Pablos habrá? o lo que es lo mismo, ¿cuantos contenidos habrá con el mismo título? no sé, lo veo raro. aunque esto es lo de menos.

Respecto a lo del hook, debería de ver cuál es si te dispusieras a hacer eso pero: el hook en cuestión invoca una función cuando el usuario haga la acción de guardar el tipo de contenido (o editar). Esta función podría unir en un campo especial para ello el campo apellido + nombre que es por el que se buscaría posteriormente . El cliente no se encarga de rellenar ese campo, solo rellena el campo "nombre" y/o el campo "apellido" y con esto, la función te une los dos string, añadiendo la "," si fuera necesario "Gómez López, Pablo". Si no existe apellido, dejará el nombre y solo podrá buscar por este.


Estoy pensando sobre la marcha, que lo mismo esa "unión" de los dos string que te estoy diciendo de hacer en un campo, se puede hacer dinámicamente con un bloque de vista que uses como buscador, pero tendría que pensarlo. Si tengo un hueco mañana lo miro.

De todos modos, la opción del hook que te digo , es muy fácil de hacer, no tend´rías que instalar un plugin para ello, y creo que queda bien "estéticamente" de cara al cliente.

Esperemos a ver si alguien más experimentado que yo (o más hábil) se le ocurre otra cosa.

Hablamos.
  #7 (permalink)  
Antiguo 12/06/2017, 13:44
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 12 años, 6 meses
Puntos: 47
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

ups, no había visto el post de jeremiselxi

Ya tienes una solución más simple. :)
  #8 (permalink)  
Antiguo 13/06/2017, 05:08
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 8 meses
Puntos: 10
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Cita:
Iniciado por JustinKO Ver Mensaje
Creo qeu darle como título el nombre es un error, ¿cuantos Pablos habrá? o lo que es lo mismo, ¿cuantos contenidos habrá con el mismo título? no sé, lo veo raro. aunque esto es lo de menos.

Respecto a lo del hook, debería de ver cuál es si te dispusieras a hacer eso pero: el hook en cuestión invoca una función cuando el usuario haga la acción de guardar el tipo de contenido (o editar). Esta función podría unir en un campo especial para ello el campo apellido + nombre que es por el que se buscaría posteriormente . El cliente no se encarga de rellenar ese campo, solo rellena el campo "nombre" y/o el campo "apellido" y con esto, la función te une los dos string, añadiendo la "," si fuera necesario "Gómez López, Pablo". Si no existe apellido, dejará el nombre y solo podrá buscar por este.


Estoy pensando sobre la marcha, que lo mismo esa "unión" de los dos string que te estoy diciendo de hacer en un campo, se puede hacer dinámicamente con un bloque de vista que uses como buscador, pero tendría que pensarlo. Si tengo un hueco mañana lo miro.

De todos modos, la opción del hook que te digo , es muy fácil de hacer, no tend´rías que instalar un plugin para ello, y creo que queda bien "estéticamente" de cara al cliente.

Esperemos a ver si alguien más experimentado que yo (o más hábil) se le ocurre otra cosa.

Hablamos.
El tema de los hooks es algo que considero que sería óptimo (para esto y más necesidades parecidas que tengo).

He creado función MYPROJECT_node_presave y MYPROJECT_entity_presave, pero ninguna de las dos se lanzan.

SEGURO que es porque las estoy escribiendo donde no es.

¿dónde deben de estar estas funciones? ¿cómo puedo hacer que funcionen dichas funciones presave?

Gracias y un saludo!!!!
  #9 (permalink)  
Antiguo 13/06/2017, 05:26
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 8 meses
Puntos: 10
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Cita:
Iniciado por jeremiselxi Ver Mensaje
Para hacerlo a traves del Hook, debes especificar cual es la version de Drupal que utilizas.
Mi versión actual es 8.3.2
  #10 (permalink)  
Antiguo 14/06/2017, 13:17
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Buenas tardes.

Tal como dice JustinKO, esta opción que te digo, es mas simple.
Te comentaré los pasos,
1) instala y habilita los modulos: https://www.drupal.org/project/auto_entitylabel
https://www.drupal.org/project/token
2) En mi caso creé un tipo de contenido llamado abogados y en este creé dos campos de esta manera:
3) Voy a la sección "Automatic Label" y marcas la opción 2 tal como se muestra en esta imagen:

4) le das clic donde dice Ojear comodines disponibles.
5) Das clic a los campos relacionados a los campos creados y si has seguido mi ejemplo, entonces te saldrá como está aquí:

6) Borras la cache.
7) Creas contenidos tipo abogados tal como se muestra en la imagen:
8) Verifica si los contenidos que creaste están este formato los titulos:

9) Creas otro tipo de contenido o editas uno, en mi caso artículo que viene por defecto y agregué este campo llamado abogado con estas configuraciones:


10) Luego creas un contenido tipo articulo y verás que cuando escribes pablo te saldrá este resultado:


Dios te bendiga y espero te haya servido.
  #11 (permalink)  
Antiguo 14/06/2017, 13:42
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Cita:
Iniciado por el_javi Ver Mensaje
El tema de los hooks es algo que considero que sería óptimo (para esto y más necesidades parecidas que tengo).

He creado función MYPROJECT_node_presave y MYPROJECT_entity_presave, pero ninguna de las dos se lanzan.

SEGURO que es porque las estoy escribiendo donde no es.

¿dónde deben de estar estas funciones? ¿cómo puedo hacer que funcionen dichas funciones presave?

Gracias y un saludo!!!!
Los Hook son muy bueno y muy poderosos y yo los he usado muchísimo, pero lo recomendable es primero agotar usar los módulos que ya fueron definidos para eso, y si aun no satisfacen nuestras necesidades, entonces creamos nuestros propios hooks para realizar las acciones que queremos.

Saludos y Dios te bendiga.
  #12 (permalink)  
Antiguo 15/06/2017, 01:45
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 12 años, 6 meses
Puntos: 47
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Cita:
Los Hook son muy bueno y muy poderosos y yo los he usado muchísimo, pero lo recomendable es primero agotar usar los módulos que ya fueron definidos para eso, y si aun no satisfacen nuestras necesidades, entonces creamos nuestros propios hooks para realizar las acciones que queremos.

Saludos y Dios te bendiga.


No estoy de acuerdo del todo con eso. Si lo que quieres hacer con un módulo propio ya está hecho, mejor no lo hagas, pero si lo que necesitas es algo muy personalizado o algo muy básico que total son tres lineas de código, instalar un módulo con un chorro de código que no necesitas, así como instalarte en muchos casos hojas de estilo css, js etc que luego afectan en el WPO y el engorro que conyevan etc etc, no creo que sea la mejor opción.
Eso sin hablar la de veces que por exceso de módulos (más especialmente en Drupal) se te cae la aplicación y tienes que estar por eliminación viendo qué módulo es el causante.

Como te digo hay que ver cada caso, pero en muchos creo es mejor usar un hook y tener tú más el control de lo que hay y de lo que pasa.

Pero por supuesto, como en todo, para gustos están los colores, y formas de trabajar hay muchas, cada uno que decida la que mejor se adapte a éi y las necesidades suyas y del trabajo que está desarrollando.

Un abrazo y gracias!!! ;)
  #13 (permalink)  
Antiguo 16/06/2017, 12:12
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Cita:
Iniciado por JustinKO Ver Mensaje
No estoy de acuerdo del todo con eso. Si lo que quieres hacer con un módulo propio ya está hecho, mejor no lo hagas, pero si lo que necesitas es algo muy personalizado o algo muy básico que total son tres lineas de código, instalar un módulo con un chorro de código que no necesitas, así como instalarte en muchos casos hojas de estilo css, js etc que luego afectan en el WPO y el engorro que conyevan etc etc, no creo que sea la mejor opción.
Eso sin hablar la de veces que por exceso de módulos (más especialmente en Drupal) se te cae la aplicación y tienes que estar por eliminación viendo qué módulo es el causante.

Como te digo hay que ver cada caso, pero en muchos creo es mejor usar un hook y tener tú más el control de lo que hay y de lo que pasa.

Pero por supuesto, como en todo, para gustos están los colores, y formas de trabajar hay muchas, cada uno que decida la que mejor se adapte a éi y las necesidades suyas y del trabajo que está desarrollando.

Un abrazo y gracias!!! ;)
Buenas tardes.

Estoy de acuerdo contigo en muchas cosas de las que dices, pero en lo personal, estoy diciendo lo mismo que tu dijiste :).

lo que dije fue esto:
Cita:
Los Hook son muy bueno y muy poderosos y yo los he usado muchísimo, pero lo recomendable es primero agotar usar los módulos que ya fueron definidos para eso, y si aun no satisfacen nuestras necesidades, entonces creamos nuestros propios hooks para realizar las acciones que queremos.

y esto lo que tu dijiste:
Cita:
No estoy de acuerdo del todo con eso. Si lo que quieres hacer con un módulo propio ya está hecho, mejor no lo hagas, pero si lo que necesitas es algo muy personalizado o algo muy básico que total son tres lineas de código, instalar un módulo con un chorro de código que no necesitas, así como instalarte en muchos casos hojas de estilo css, js etc que luego afectan en el WPO y el engorro que conyevan etc etc, no creo que sea la mejor opción.
Al final todo va a depender de lo que necesitemos y el tiempo disponible que tenemos para hacerlo nosotros.

Estoy de acuerdo contigo en que muchos módulos vienen con muchos códigos que no le daremos utilidad, pero, en lo personal (nadie tiene que estar de acuerdo conmigo), primero busco en el listado de módulos de drupal en la comunidad, porque casi siempre cuando necesitamos hacer algo, ya alguien ha creado un modulo para eso, y sino está, pues muchas personas, siguen contribuyendo para que si este.

Así que :) ya veo que tu y yo tenemos que aportar muchos módulos a la comuniad :) ¿Qué te parece?
  #14 (permalink)  
Antiguo 17/06/2017, 03:55
 
Fecha de Ingreso: junio-2012
Ubicación: Madrid
Mensajes: 339
Antigüedad: 12 años, 6 meses
Puntos: 47
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

No!!!! Jeremiselxi!!! mis conocimientos de programación están a años luz de de estar a la altura para hacer un módulo para la comunidad.
Hago mis cosas básicas para mis web (como podría ser de lo que estamos hablando) y si necesito algo más complejo pido ayuda a los que realmente sois programadores. :)

POr cierto, muchas gracias por la ayuda que estás prestando a este foro. Yo antes en lo poco que podia ayudar intentaba hacerlo pero últimamente no tengo tiempo además de que me he alejado poco de Drupal. A ver si lo retomo de nuevo.

Un saludo a todos
  #15 (permalink)  
Antiguo 26/06/2017, 10:50
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Cita:
Iniciado por JustinKO Ver Mensaje
No!!!! Jeremiselxi!!! mis conocimientos de programación están a años luz de de estar a la altura para hacer un módulo para la comunidad.
Hago mis cosas básicas para mis web (como podría ser de lo que estamos hablando) y si necesito algo más complejo pido ayuda a los que realmente sois programadores. :)

POr cierto, muchas gracias por la ayuda que estás prestando a este foro. Yo antes en lo poco que podia ayudar intentaba hacerlo pero últimamente no tengo tiempo además de que me he alejado poco de Drupal. A ver si lo retomo de nuevo.

Un saludo a todos
Pues amigo, pongámonos en eso a ver si contribuimos para la comunidad. Y a Drupal no lo sueltes, porque al final después tenemos que volver como me paso a mi. :)
  #16 (permalink)  
Antiguo 03/07/2017, 16:03
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Mensajes: 269
Antigüedad: 16 años, 3 meses
Puntos: 22
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Buenas tardes el_javi. Cada tema que ya esté terminado, debes presionar la opción completado.
  #17 (permalink)  
Antiguo 08/07/2017, 17:45
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 8 meses
Puntos: 10
Respuesta: Drupal 8 - Entidad Referenciada - Autocompletar - Búsqueda por campos múlt

Hola jeremiselxi

No he dado por cerrado este tema porque quería consultaros sobre el tema de Hooks.

Me gustaría aprender a crear hooks, pero no sabía si seguir preguntando aquí, o abrir un hilo nuevo para ese tema.

Sobre el Autocompletar, mediante la opción de JustinKo me ha funcionado correctamente.

Etiquetas: campos, entidad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:21.