Digamos que eu tenha uma equipe, que tenha membros. Eu tenho um tipo de conteúdo para equipe e um tipo de conteúdo para membros individuais da equipe. Digamos que também haja outros relacionamentos, por exemplo, equipes podem pertencer a departamentos e existem projetos que podem ser atribuídos a indivíduos ou equipes.
Pelo que entendi, existem duas maneiras de definir os relacionamentos entre essas entidades - referências de entidade ou uso de termos de taxonomia. Quando devo usar um tipo sobre o outro? É melhor escolher apenas um método ou misturá-los?
Parece-me que a taxonomia é a mais flexível, porque é fácil construir árvores usando tipos de taxonomia ou, por exemplo, se em uma equipe eu decidi que queria criar uma hierarquia na equipe, a funcionalidade já está lá (basta arrastar o botão termos de taxonomia na hierarquia) enquanto que se eu tiver usado a referência de entidade, não consigo pensar em uma maneira simples de fazer isso (além de adicionar taxonomia, o que resulta em redundância).
Parece que há algo que não estou entendendo aqui, mas não tenho certeza do que é!
Qualquer ajuda seria apreciada.
fonte
Respostas:
Você está falando sobre dois conceitos diferentes aqui. A primeira pergunta está relacionada a quando alguém deseja organizar o conteúdo em diferentes categorias ou se deseja criar um relacionamento entre os tipos de conteúdo existentes. A outra pergunta é se, ao usar uma taxonomia, será melhor usar um campo de referência de taxonomia ou um campo de referência de entidade.
Em relação ao primeiro conceito
Depende do seu caso de uso. As taxonomias são ótimas para a construção de hierarquias, como você mencionou, mas, idealmente, você não deve usar taxonomias para conter conteúdo real. A razão disso é fácil - embora você possa adicionar campos a termos de taxonomia, todos os níveis hierárquicos em uma taxonomia usam os mesmos campos. Tomando seu exemplo com membros pertencentes a equipes diferentes, isso pode levar a problemas. Se você deseja armazenar mais informações sobre uma equipe ou membro do que apenas o nome, se, por exemplo, deseja armazenar informações sobre o nome, sobrenome e biografia de um membro e adicionar esses campos à taxonomia, eles serão disponível em termos de equipe também. E se você adicionar um campo de descrição para as equipes, elas aparecerão para os membros da equipe.
As taxonomias são melhor usadas ao organizar itens semelhantes hierarquicamente. Tags semelhantes, por exemplo:
As referências de entidade são excelentes para estabelecer relacionamentos entre tipos de conteúdo. Os exemplos incluem quando você tem um tipo de nó 'equipe' e um tipo de nó 'membro da equipe', cada um com seus próprios campos. Ou um tipo de nó 'song' que está referenciando um 'album' que faz referência a um 'musician'. Nesse sentido, as referências a entidades são mais flexíveis que as taxonomias, pois permitem relacionamentos mais complexos. Ao usar visualizações, você também pode utilizar esses relacionamentos. Tomando o seu exemplo, você pode criar uma visualização de todos os membros da equipe e usar a referência da entidade para um relacionamento, e um pode exibir qualquer campo no tipo de conteúdo da equipe, juntamente com os campos do nó do membro.
Os campos de referência e taxonomia do nó de mistura também são legítimos. No seu exemplo com as equipes, a equipe e o membro podem ser um nó, referenciando-se mutuamente com uma referência de entidade. Ao mesmo tempo, o departamento poderia ser uma taxonomia com todos os departamentos disponíveis.
Em relação ao segundo conceito
Quando o DO lançou o D7, ele foi enviado com um campo de referência de taxonomia para usar ao fazer referência a taxonomias. Desde então, vimos o lançamento do módulo Entity API e, consequentemente, o módulo de referência de entidade, e como termos e taxonomias são entidades, é possível fazer referência a eles como qualquer outra entidade. Nesse ponto, os dois estão trabalhando de maneira muito semelhante e, em muitos casos, não importa qual deles você usa. No entanto, ainda existem alguns módulos contribuídos que fornecem formatadores de campo e widgets, que funcionam apenas para um ou outro. Portanto, depende principalmente se você precisa desse formatador, se deve usar referência de taxonomia ou referência de entidade.
Como o DO está substituindo o campo de referência da taxonomia pelo campo de referência da entidade em D8, prefiro ir com o campo de referência da entidade para vincular às taxonomias, em vez do campo fornecido pelo módulo de taxonomia.
fonte