entities – Referencia de entidad frente a taxonomía

Pregunta:

Digamos que tengo un equipo, que tiene miembros. Tengo un tipo de contenido para el equipo y un tipo de contenido para miembros individuales del equipo. Digamos que también hay otras relaciones, por ejemplo, los equipos pueden pertenecer a departamentos y hay proyectos que se pueden asignar a individuos o equipos.

Según tengo entendido, hay dos formas en que puedo definir las relaciones entre estas entidades: referencias de entidad o términos de taxonomía. ¿Cuándo debo usar un tipo sobre el otro? ¿Es mejor elegir solo un método o mezclarlos?

Me parece que la taxonomía es la más flexible, porque es fácil construir árboles usando tipos de taxonomía, o por ejemplo, si dentro de un equipo decidí que quería construir una jerarquía en el equipo, la funcionalidad ya está allí (simplemente arrastre el términos de taxonomía en la jerarquía) mientras que si he usado la referencia de entidad, no puedo pensar en una forma simple de hacerlo (aparte de agregar taxonomía, que luego da como resultado la redundancia).

Se siente como si hubiera algo que no entiendo aquí, ¡pero no estoy seguro de qué es!

Cualquier ayuda sería apreciada.

Respuesta:

Estás hablando de dos conceptos diferentes aquí. La primera pregunta está relacionada con cuándo se quiere organizar el contenido en diferentes categorías o si se quiere construir una relación entre los tipos de contenido existentes. La otra pregunta es si, al usar una taxonomía, será mejor usar un campo de referencia de taxonomía o un campo de referencia de entidad.


Respecto al primer concepto

Depende de su caso de uso. Las taxonomías son excelentes para construir jerarquías, como mencionaste, pero lo ideal es que no uses taxonomías para incluir contenido real. El motivo es sencillo: aunque puede agregar campos a los términos de la taxonomía, todos los niveles jerárquicos de una taxonomía utilizan los mismos campos. Tomando su ejemplo con miembros que pertenecen a diferentes equipos, esto podría generar problemas. Si desea almacenar más información sobre un equipo o miembro que solo el nombre, si, por ejemplo, desea almacenar información sobre el nombre, apellido y biografía de un miembro, y agregar estos campos a la taxonomía, serían disponible también en términos de equipo. Y si agrega un campo de descripción de equipo para los equipos, se mostrarán para los miembros del equipo.

Las taxonomías se utilizan mejor cuando se organizan elementos similares jerárquicamente. Como etiquetas, por ejemplo:

  • vegetal
    • zanahoria
    • Papa
  • Fruta
    • manzana
    • plátano

Las referencias a entidades son excelentes para establecer relaciones entre tipos de contenido. Los ejemplos incluyen cuando tiene un tipo de nodo 'equipo' y un tipo de nodo 'miembro del equipo', cada uno con sus propios campos. O un tipo de nodo 'canción' que hace referencia a un 'álbum' que a su vez hace referencia a un 'músico'. En este sentido, las referencias a entidades son más flexibles que las taxonomías, ya que permiten relaciones más complejas. Cuando utiliza vistas, también puede utilizar estas relaciones. Tomando su ejemplo, podría crear una vista de todos los miembros del equipo y usar la referencia de entidad para una relación, y se podría mostrar cualquier campo en el tipo de contenido del equipo junto con los campos del nodo miembro.

La combinación de campos de taxonomía y referencia de nodo también es legítima. En su ejemplo con los equipos, tanto el equipo como el miembro podrían ser un nodo, haciendo referencia entre sí con una referencia de entidad. Al mismo tiempo, el departamento podría ser una taxonomía con todos los departamentos disponibles.


Respecto al segundo concepto

Cuando DO lanzó D7, se envió con un campo de referencia de taxonomía para usar al hacer referencia a taxonomías. Desde entonces, hemos visto el lanzamiento del módulo Entity API y, en consecuencia, el módulo de referencia de entidad, y dado que los términos y taxonomías son entidades, uno puede hacer referencia a ellos como cualquier otra entidad. En este punto, los dos funcionan de manera muy similar y, en muchos casos, no importa cuál use. Sin embargo, todavía hay algunos módulos contribuidos que proporcionan formateadores de campo y widgets, que solo funcionan para uno u otro. Por lo tanto, depende principalmente de si necesita un formateador de este tipo si debe usar la referencia de taxonomía o la referencia de entidad.

Como DO está reemplazando el campo de referencia de taxonomía con el campo de referencia de entidad en D8, prefiero ir con el campo de referencia de entidad para vincular a las taxonomías en lugar del campo proporcionado por el módulo de taxonomía.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım