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

Relacionar contenidos en views

Estas en el tema de Relacionar contenidos en views en el foro de Drupal en Foros del Web. Hola a todos y de antemano gracias por la ayuda que se me pueda dar. Soy bastante novato en Drupal, llevo poco tiempo aunque ya ...
  #1 (permalink)  
Antiguo 30/01/2013, 21:51
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Relacionar contenidos en views

Hola a todos y de antemano gracias por la ayuda que se me pueda dar.

Soy bastante novato en Drupal, llevo poco tiempo aunque ya me voy defendiendo, uso Drupal 7.

He estado mirando por el foro y no encuentro contestación a esto, por eso pregunto a ver si alguien me puede ayudar, con algo que supongo que es bastante sencillo pero que no acabo de llevar adelante

Estoy haciendo una página sobre consolas y videojuegos, mejor dicho, migrandola a Drupal (antes usaba wordpress)

Quiero hacer a través de "Views" una vista que sería la siguiente:

En una ficha de una consola de videojuegos, por ejemplo, de Nintendo, quiero que me aparezcan abajo una lista, ya sea en grids o list html, consolas de la misma compañía, en este caso Nintendo.

Se hacerlo pero de una manera estática y no dinámica.

Sé como hacer una vista con filtros que me muestre todas las de Nintendo, pero en todos los nodos me aparecerán las de Nintendo... lógico, osea que en una ficha de consolas de Sony seguiría apareciendo las de Nintendo....y lo que necesito es que coja la relación de lo que se está presentando en el nodo, si es de Nintendo o Sega o Sony, lo que sea, y presente en este caso consolas relacionadas a esa compañía.

Tan solo añadir que cada nodo tiene varios campos, compañía, categoría, año, y etiquetas, muchos de estos campos pertenecen a datos taxonomicos.
Quizás debería sacar alguna relación de uno de esos campos, en este caso compañía, para hacer el filtro, pero no sé hacerlo....


Estaría muy agradecido por la ayuda...

Saludos y gracias!
  #2 (permalink)  
Antiguo 01/02/2013, 11:25
raulfw
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Relacionar contenidos en views

tiene pinta de que necesitas utilizar el famoso 'node reference'... pero yo no se como funciona, no te puedo ayudar, lo siento.
  #3 (permalink)  
Antiguo 01/02/2013, 14:11
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Relacionar contenidos en views

Hola Raul, gracias por la respuesta.

Pues el Node Reference lo tengo instalado y lo he utilizado para vincular galerías de imágenes a un nodo de mi conveniencia, pero no lo he intentado para esto que quiero hacer, lo voy a mirar a ver y tanto si sale bien como si sale mal, posteo por aquí el resultado.

Saludos!
  #4 (permalink)  
Antiguo 02/02/2013, 16:17
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Relacionar contenidos en views

Hola de nuevo...

Pues he probado con Node Reference, y no me sirve para filtrar o relacionar lo que quiero con el nodo, seguiré buscando información o esperaré que alguien que sepa de que va el tema o como hacerlo me pueda decir algo.

También he pensado hacer el filtro con PHP Code, en las opciones avanzadas de Filtros contextuales, pero no se como podría hacerlo, esperaré pues...

Saludos!
  #5 (permalink)  
Antiguo 04/02/2013, 02:08
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Relacionar contenidos en views

No se que versión de Drupal uses, pero debes montar una vista con argumentos.
Cada ficha debe pertenecer a un tipo de contenido "consola" verdad?
A cada ficha debes añadirle un node reference a la consola que pertenece, y en tu vista pasar el argumento de ese campo, que vendria a ser el NID de la consola. Casualmente ese NID es el que tenés como parametro en tu URL, por lo que si pones que por defecto coja el id de la url como argumento por defecto, entonces vas a conseguir lo que vos queres.

Saludos.
  #6 (permalink)  
Antiguo 05/02/2013, 01:02
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Relacionar contenidos en views

Muchas gracias Mario, voy a ver si puedo conseguir hacer lo que dices y después explico por aquí.

Saludos!
  #7 (permalink)  
Antiguo 07/02/2013, 02:40
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Relacionar contenidos en views

Hola de nuevo Mario.

Pues uso Drupal 7, y no se si lo he hecho bien, pero te explico....

He añadido un campo "Node Referrer" que creo que irá mejor que "Node Reference"
al tipo de contenido "Consola", hay más campos en este mismo tipo de contenido, entre ellos esta el campo "Compañía", entonces la idea es presentar una vista con consolas de la misma compañía, y lo que he hecho es en la vista añadir el NID en "contextual filters", y seleccionar "Provide default value" Content ID From URL.

En arguments no se que poner lo único que he conseguido es que la vista me presente el título del nodo, en este caso el de la consola. Como que coge el título del nodo y lo imprime en pantalla, no he podido hacer nada más.

Una cosa más, con "Node Referrer" he leído por ahí que alguno ha conseguido algo así como lo que yo quiero hacer, por eso elegí este módulo en lugar de "Node Reference", no se si hago bien.

Saludos!
  #8 (permalink)  
Antiguo 07/02/2013, 03:04
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Relacionar contenidos en views

No se exactamente que es un campo "Node referrer", no se si es lo mismo que un Node Reference, que es lo que te recomendaria que uses.

Este campo lo tenes que agregar a la ficha, y luego dentro del nodo "Consola" llamar a esa vista y pasarle como argumento lo que vos pusiste (Content ID From URL).

Si solo te imprime el titulo del nodo agrega mas campos a la vista, pero recorda que tenes que hacer una vista que como argumento le pases el id de la consola, y te seleccione fichas e imprima las mismas en pantalla.

Te comento esto porque creo que tenés mal hecho el modelo de datos, espero equivocarme.

Saludos.
  #9 (permalink)  
Antiguo 08/02/2013, 16:25
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Relacionar contenidos en views

Hola de nuevo Mario, y gracias por la ayuda.

Bueno pues parece ser que ya lo he solucionado, a medias, y digo a medias por lo que ahora te explico.

La verdad no había puesto ningún campo Node Reference, en ningun tipo de contenido, ya que yo lo quería hacer de otra manera, si es que se podía, a traves de leer el contenido de los campos, y que me encontrara el contenido en común en los campos.

Bueno el caso es que ya lo he conseguido con un campo Node reference en cada tipo de contenido, lo que me tenía un poco despistado es que al relacionar por ejemplo, en la ficha de un juego con una consola, en la ficha del juego no me aparece nada, sino que tengo que irme a la ficha de la consola que he relacionado, para ver el resultado, y así lo tengo que hacer viceversa también.


El problemilla viene cuando tengo que relacionar una consola (o llamala ficha de consola) con más de 800 juegos o fichas de juegos, y configuro para que aparezcan los nodos en una lista y están todas mezcladas en una lista de fichas de juegos creadas (o nodos de fichas de juegos) y están todas ahí mezcladas junto con las de otras consolas.

No sé si tienes algún consejo o truquillo para darme en cuanto a esto, por que a medida que vayan creciendo los contenidos, se hará cada véz más difícil el asociar correctamente unos nodos con otros debido a lo larga que será la lista.

La mejor opción que se me ocurre es a traves de "autocompletar" en lugar de "lista de selección" o de cualquier otra opción.... aún así e sun trabajo enorme y que cada véz se hará más difícil.

Alguna idea??

Bueno gracias por la ayuda.

Saludos!
  #10 (permalink)  
Antiguo 08/02/2013, 16:49
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Relacionar contenidos en views

Pensalo de esta manera:

Las fichas pertenecen a una consola? Si es asi, crea un node reference en las fichas que relacione a consolas.
Las consolas pertenecen a una ficha? En tu caso si, pero si vamos a la logica no pertenecen a una ficha, por lo que no haria falta que agregues un node reference ahi, te podrias ahorrar el agregar.

Ahora bien, los juegos pertenecen a consolas, por lo que vas a tener que agregar un node reference al campo por cada juego que agregues. Lamentablemente este trabajo va a ser un poco tedioso, pero es algo que tenes que hacer por tener una web con mucho contenido. Podés usar el autocompletar, pero yo me quedaría con los checkboxes, porque seguramente un juego salga para más de una consola.

Si ves el modelo de datos de esa manera, estarias ahorrandote un node reference, que parece que es bastante.

Saludos.
  #11 (permalink)  
Antiguo 08/02/2013, 17:32
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Relacionar contenidos en views

Umm no he entendido muy bien pero te explico como lo tengo:

Tengo el tipo de contenido "Fichas Consolas" y el tipo de contenido "Fichas Juegos"

Para que una ficha de consola sepa que tiene juegos en su catalogo, me voy a cada juego y en el campo Node reference, tengo que añadir esa consola a la que pertenece el juego, y así todo el catalogo de juegos, por ejemplo para decirle a la ficha de Playstation (consola) que tiene mas de 7 mil juegos que le pertenecen, tengo que editar las 7 mil fichas y en el campo Node reference, poner "Playstation".... y así con varios miles de juegos ...

Lo que creo que sería mejor es editar la ficha de la consola y en este caso en las casillas marcar los 7 mil juegos que tiene en su catalogo .... pero ahí es cuando viene el problema de que todos los juegos estan bajo el mismo tipo de contenido, "Fichas juegos" y entonces aparecen todos los juegos de todas las plataformas, quizás unos 17 o 20 mil.... por que el campo Node Reference del tipo de contenido "Fichas consolas" está asociado al tipo de contenido "Fichas juegos" .

Quiero mirar a ver si puedo incrustar en los campos de Node reference de cada juego, la consola a la que pertenecen con algo parecido a una opción BULK o algo así, aunque creo que será difícil....


Saludos.
  #12 (permalink)  
Antiguo 09/02/2013, 03:14
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Relacionar contenidos en views

Lo que has hecho está bien, es una lástima que tengas 7.000 nodos para editar. No se si la web sea hecha por vos o no, pero Drupal no tiene la culpa de que se hayan creado los contenidos sin antes hacer mal el modelo de datos. Se supone que los 7.000 juegos ya debían ser creados con su node reference a la consola, si no es practicamente imposible conseguir una relacion entre ellos...

Este módulo permite acciones masivas en nodos:

http://drupal.org/project/editablefields (este jamas lo probe).

Saludos.
  #13 (permalink)  
Antiguo 12/02/2013, 20:54
 
Fecha de Ingreso: enero-2013
Mensajes: 48
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Relacionar contenidos en views

Hola de nuevo Mario.

Pues los m'as de 7000 nodos, que serán muchísmos más... no están creados aun.

Tan solo tengo creados unos 1000, pero esos ya los he ido editando poco a poco y estoy a medio camino. Supongo que a lo que te refieres es que a medida que vaya creando los nodos vaya enlazandolos unos a otros con Node Reference, verdad?

Eso está hecho, de ahora en adelante, gracias por el aviso, el casi es como reducir esa ingente cantidad de nodos que se presentan, la única opción es a través del widget autocompletar...

Y sí, la página la he hecho yo desde cero y poco a poco me he metido tanto en Drupal que creo que ya tengo algo de nivel, al menos bajo....
Pero siempre se escapan cosas así.

La idea que he tenido es no enlazar todos los nodos unos con otros, o dicho de otra manera, no enlazar todos los juegos unos con otros, sino tan solo los juegos más destacados o más valorados por los lectores, que son los que más le interesa a la gente

El módulo ese que me citas está bien, es más, creo que en un futuro lo voy a usar por que algo así me hará falta, de nuevo gracias.


Bueno pues cualquier mejora u otra cosa relacionada a esto la posteo por este hilo...


Saludos y gracias por la ayuda!

Etiquetas: contenidos, relacionar, views
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 09:01.