Como clonar um tipo de conteúdo? [fechadas]

13

Quero clonar um tipo de nó e adicionar alguns campos nele. Eu acho que o mais simples será duplicá-lo e começar a trabalhar nele.

Parece que não existe uma maneira oficial de clonar um tipo de conteúdo no Drupal 7. Os recursos podem permitir, mas não há procedimento escrito sobre como isso pode ser feito.

Eu até tentei o módulo Bundle Copy .

Qual será a melhor maneira de clonar qualquer tipo de conteúdo no Drupal 7?

AgA
fonte
Só notei que você tentou copiar o pacote ... Eu uso isso o tempo todo, o que não funcionou?
Clive
1
@NikhilM Adicionando campos torna esta uma pergunta semelhante, mas não um dup de 11645.
mpdonadio

Respostas:

12

A maneira mais fácil é usar o módulo de cópia Bundle , mas se você não conseguir fazer isso, recomendo o módulo Configuration Management .

O módulo de gerenciamento de configuração permite acompanhar configurações específicas em um site Drupal, fornece a capacidade de mover essas configurações entre diferentes ambientes (local, dev, qa, prod) e também mover configurações entre sites completamente diferentes (migrar configurações) sem o uso de módulos com todas as configurações pertencentes ao site.

É basicamente recursos com as coisas que você não precisa. Seu único objetivo é mover a configuração de um site para outro.

Clive
fonte
Como usar a cópia do pacote? Exportei o tipo de artigo - agora o que faço para alterar o nome dele antes de importar o mesmo código?
AgA 21/01
Basta executar uma sequência de substituição ... substitua 'old_content_type' por 'new_content_type'. Nunca tive problemas com esse método antes
Clive
Obrigado ... posso substituir "article" pela clonagem do tipo de conteúdo do artigo?
AgA 21/01
Sim, mas certifique-se de que a sua substituição de cadeias diferencia maiúsculas de minúsculas e inclui os apóstrofos (não é uma ciência exata). Portanto, o código PHP seria semelhante astr_replace("'article'", "'new_type'", $export_code);
Clive
Você quer dizer que apenas o nome da máquina precise ser substituído?
AgA 21/01
4

Estou usando o módulo de ferramentas de campo para D7; faz exatamente o que você precisa.

elektrorl
fonte
Isso vai ajudar a multifields migrar inseguro sobre como utilizar este
pal4life
3

Criei o Content Type Clone, disponível como projeto sandbox aqui:

https://www.drupal.org/sandbox/davidfiaty/2745827

Ele permite que você clone um tipo de conteúdo em um clique, sem precisar olhar o código PHP ou executar manipulações complexas.

Ainda é um projeto de sandbox no momento, mas em breve estará disponível como um módulo oficial do Drupal. Confira!

Edit 1: O lançamento oficial do Content Type Clone for Drupal 7 está aqui! https://www.drupal.org/project/content_type_clone Versão do Drupal 8 em breve.

Edit 2: O lançamento oficial do Content Type Clone for Drupal 8 está disponível na mesma página.

David Fiaty
fonte
2

O módulo de recursos é a melhor opção ainda.

Aqui está o que você precisa fazer:

  • Exporte o tipo de conteúdo que você deseja clonar como um Recurso.
  • Renomeie o tipo de conteúdo (ou seja, altere o "nome da máquina") no seu site Drupal
  • Carregue e ative seu recurso

Esta página pode ter a sua resposta para "maneira oficial de clonar um tipo de conteúdo no Drupal 7".

monymirza
fonte
1
Não posso concordar com isso. A cópia de pacote é muito mais fácil de usar (e mais leve) que os recursos. Idem Configuração
Clive
Você pode me dizer quais campos devem ser alterados exatamente no módulo exportado e vincular essas informações "oficiais"?
AgA
+1 @Clive - acabamos de usar o Bundle Copy aqui - ele fornece uma opção de menu 'clone' em 'Estrutura' nos menus de administração / configuração do Drupal para clonar o tipo de conteúdo. Exatamente o que esperávamos ao considerar este módulo. Parece funcionar bem.
Therobyouknow
@monymirza isso envolveria a edição manual do código gerado por máquina para pesquisar / substituir / renomear o código do tipo de conteúdo gerado pelo recurso. A menos que se conheça o código do módulo Feature, bem como a forma como ele gera esse código, pode haver incógnitas / suposições sobre a codificação manual dessa maneira e resultados infelizes. Use a versão dev (no momento da redação, atualmente 7.x-2.x-dev) do Bundle Copy (corrigido meu comentário original feito em 1º de outubro de 14 às 10:29 para mencionar a funcionalidade atualmente na versão dev), pois isso fornece uma opção de menu 'clonar' no menu 'estrutura', pronta para uso, foi feita para esta tarefa.
Therobyouknow 16/02