Preencher entidades com base em resultados não ligados

Events happening in the community are now at Drupal community events on www.drupal.org.
jrochate's picture

Boas.

Ando às voltas com uma questão, e como volto sempre ao início, venho procurar as vossas sugestões.

  • Content Type: DOGS

    • vários Fields Text simples: name, place, etc.
    • um Entity Reference unlimited values: CARING
  • Content Type: CARING (que também pode ser um Field Collection)

    • vários Field Text simples: task, experience
    • um Integer: love
    • um Boolean: done

Até aqui nada de especial. É possível criar vários DOGS, e a cada um dele, adicionar vários registos de CARING.

Exemplo:
- Snoopy
- Faro
- jump on the couch, cool, 5, YES
- walk on the street, fast, 3, NO

O desafio aqui é:
- Tenho um outro Content Type com 300 sugestões de caring (CARING-DB), as quais eu gostaria de o utilizador pudesse abri-las em modal, selecionar algumas, e que fossem copiadas para o CARING. Tem que ser copiadas, pois o utilizador poderá modificá-las a seu gosto, sem necessitar de uma referência à origem (CARING-DB).

Já tentei com Field Collection e Entitys, mas não consigo "não manter" a relação com a CARING-DB.

Em resumo, lançar N registos com base em sugestões contidas noutro tipo de conteúdo, mas sem manter a ligação /referência.

Obrigado desde já.

joao

Comments

Copiadas como? Género, teres

pio.fernandes's picture

Copiadas como? Género, teres o popup com a modal, escolher, destruir a modal e copiar o texto para uma textarea do form original?

Edit
Ve se isto te interessa. Com esse modulos podes criar listas de escolha programaticamente com facilidade. Pode ser útil como workaround à modal.

Sim, copiadas quase nesse

jrochate's picture

Sim, copiadas quase nesse sentido.

Seguindo o use case original, teríamos:

  • Ficha com os dados do cão
  • Zona para colocar os ilimitados carinhos a fazer ao cão
  • Cada carinho é composto por uma descrição e mais alguns campos

Estruturalmente, teríamos:
- Entity Type: DOG
- Entity Type: CARING ou Field Collection: CARING
- Entity Relation entre DOG e CARING, de valores ilimitados
- Entity Type: CARING-DB com vários campos, não relacionada com as outras

Em termos de interface, teríamos:
- Node de um cão qualquer
- Zona para adicionar um ou mais registos de carinhos, compostos por mais do que um campo cada carinho
- Botão IDEIAS PARA CARINHOS que abre uma modal, lista e pequisa carinhos de diversos tipos
- O utilizador filtra, escolhe vários carinho, e carrega no botão de submeter
- Os carinhos selecionados são copiados para o Entity Type CARING, e não mantém qualquer relação com a CARING-DB
- Desta forma, o utilizador fica então com uma lista da carinhos que foi buscar "ideias" à busca e agora pode ajustar à realidade do seu cão

É só se para criar uma lista (de vários campos), ele fosse buscar "conselhos" ou "ideias" a uma folha excel e fizesse copy&paste dessas ideias e ajustasse à sua realidade.

Após testar quase tudo o que é entity*, acho que o meu caminho é manter-me com o Field Collection, mas arranjar maneira de capturar o resultado da seleção da modal, e programaticamente preencher o Field Collection.

Se houver alguém com outras ideias, agradeço.

Nunca usei o modulo

paean99's picture

Nunca usei o modulo Replicate, mas ele parece interessante para esse caso. Ver em particular os outros módulos mencionados no fim da pagina.

Tive há pouco tempo de

bitsfs's picture

Tive há pouco tempo de desenvolver uma solução semelhante. Usando a mesma abordagem faria assim:

1 - Criar um "content type" para a lista de carinhos. Esse content type, teria um campo texto (ou lista) de repetição onde se inseriam todos os itens num único node. (isto para não ter de criar um node para cada item ou até uma nova entitiy com tabelas próprias na BD, etc)

2 - Através de um pequeno módulo, disponibilizar essa lista numa popup no "node add/edit form" do DOG. Quando seleccionamos um item da lista, o módulo cria (através de ajax) um novo node CARING (referenciado ao "parent node" DOG). Esse node CARING ficaria com o valor que seleccionamos da lista.

Sem desenvolver "custom code" assim de repente não me ocorre nenhuma solução.

Já existe um módulo que faz

pio.fernandes's picture

Já existe um módulo que faz isso: o EntityReference.

Portugal

Group categories

Classificação

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: