Jeśli masz na myśli eksport przez duplikat, skorzystaj z modułu Funkcje .
Moduł funkcji umożliwia przechwytywanie i zarządzanie funkcjami w Drupal. Cechą jest zbiór bytów Drupala, które razem spełniają określony przypadek użycia.
Funkcje zapewniają interfejs użytkownika i interfejs API do pobierania różnych komponentów budowy witryny z modułów z eksportowalnymi danymi i łączenia ich w jeden moduł funkcji. Moduł funkcji jest jak każdy inny moduł Drupal, z tym wyjątkiem, że deklaruje swoje komponenty (np. Widoki, konteksty, pola CCK itp.) W pliku .info, dzięki czemu można go sprawdzić, zaktualizować lub przywrócić programowo.
W tej chwili wydaje się to najlepsza metoda. Niestety nie ma (jeszcze?) Modułu takiego jak Content Copy w Drupal 6.
marcvangend
Mam na myśli eksport, a następnie import.
Raptor,
2
Funkcje to przesada w przypadku kopiowania typu zawartości. Ma on na celu łączenie różnych jednostek / modułów / innych razem w wysoce spersonalizowanych celach. Jeśli chcesz prostą kopię typu zawartości, patrz @ użytkownik3936 poniżej.
doub1ejack
Odkryłem, że moduł dziedziczenia pakietów jest najłatwiejszy; zobacz moją odpowiedź poniżej .
Kopia pakietu jest zamiennikiem modułu kopiowania treści, który mieszka w projekcie CCK dla Drupal 6. Obsługuje eksport / import dla: typów węzłów, taksonomii, użytkownika, pól API pola, grup pól
AKTUALIZACJE 7.x-2.x-dev notatki
Dodano następujące funkcje:
Eksport / import kolekcji terenowej
Klonowanie typów treści
Eksport / import pakietów jednostek handlowych
Drupal 8: Kopiowanie pakietu znajduje się w rdzeniu CMI Drupal 8.
Kopiowanie pakietu nie nadaje się do klonowania typu zawartości na inny typ zawartości w tej samej witrynie. A wyszukiwanie / zamiana nie jest proste. Istnieją tablice węzłów, które odwołują się do innych typów treści. Nie do końca to rozgryzłem, ale zapytałem gorączkowo. Gdybym wiedział, co można bezpiecznie i nie bezpiecznie zmienić, byłoby to pomocne. Tylko ostrzeżenie. (Jeden użytkownik odpowiadający na to samo żądanie zauważył, że miał błędy korupcji bazy danych podczas wyszukiwania / zamiany wszystkich wystąpień oryginalnej nazwy maszyny typu zawartości.
@ User7558 Kopiowanie pakietu nie jest odpowiednie do klonowania typu zawartości na inny typ zawartości w tej samej witrynie. Tak, potrzebujesz najmniejszej ręcznej interwencji
7.x-2.x-dev obsługuje klonowanie typu zawartości w tej samej witrynie za pośrednictwem interfejsu użytkownika.
mpdonadio
Myślę, że ulubioną opcją jest Kopiowanie pakietu, ponieważ użycie funkcji Funkcje wymagałoby ręcznego edytowania kodu generowanego maszynowo w celu wyszukiwania / zamiany / zmiany nazwy kodu typu treści generowanego przez funkcję. O ile nie zna się dobrze kodu modułu funkcji i sposobu generowania tego kodu, mogą istnieć nieznane / założenia dotyczące ręcznego kodowania w ten sposób i pechowych rezultatów. Zaktualizowano 1 października 14 komentarz 1 z 2
Wszystko, co zrobiłem, to stworzyłem mój drugi typ zawartości, użyłem tej funkcji modułu, aby sklonować wszystkie pola do nowego typu zawartości, a następnie odinstalowałem moduł. Kopiowanie pakietu i Funkcje wydają się absurdalnym sposobem na powielenie typu zawartości, było to bardzo proste i dokładnie to, czego chciałem.
Jeśli wszystko, co chcesz zrobić, to zduplikować złożony niestandardowy typ zawartości, jest to właściwy sposób. Funkcje mają wiele niepotrzebnych kosztów ogólnych, a typ zawartości jest powiązany z wygenerowanym modułem. Bleh Użyj tego. Zainstaluj / włącz, przejdź do typu zawartości, który chcesz sklonować, poszukaj Clone Fieldskarty u góry, wybierz pola do skopiowania, węzeł do skopiowania i gotowe.
doub1ejack
1
Myślę, że Field Tools to najszybszy i najprostszy sposób. Dziękuję Ci!
Roger,
Utwórz nowy, pusty typ zawartości, Toolszakładki Clone fields to this bundle, wybierz pola z istniejącego typu zawartości węzła Add field instances.
Hugo,
4
Odkryłem, że (stosunkowo nowy) moduł dziedziczenia pakietów jest bardzo łatwym sposobem na zrobienie tego. Pamiętaj, aby włączyć moduł „Węzeł dziedziczenia pakietu” (bundle_inherit_node) oprócz modułu bundle_inherit, wówczas podczas tworzenia nowych typów treści pojawi się nowa karta „Dziedziczenie”.
(Daje to również wybór pomiędzy „miękkim dziedziczeniem” a „ścisłym dziedziczeniem” ... o ile mogę zebrać, „miękkie dziedziczenie” po prostu wykonuje jednorazową kopię pól, podczas gdy „ścisłe dziedziczenie” śledzi hierarchia dziedziczenia).
W przeciwnym razie Klonowanie typu treści pozwala to zrobić szybko i prosto, bez konieczności patrzenia na kod PHP lub wykonywania skomplikowanych operacji:
Odpowiedzi:
Jeśli masz na myśli eksport przez duplikat, skorzystaj z modułu Funkcje .
źródło
Może za późno możesz skorzystać z modułu kopiowania pakietów :
AKTUALIZACJE 7.x-2.x-dev notatki
Dodano następujące funkcje:
Drupal 8: Kopiowanie pakietu znajduje się w rdzeniu CMI Drupal 8.
źródło
Użyłem modułu narzędzi polowych i działał bezbłędnie.
Wszystko, co zrobiłem, to stworzyłem mój drugi typ zawartości, użyłem tej funkcji modułu, aby sklonować wszystkie pola do nowego typu zawartości, a następnie odinstalowałem moduł. Kopiowanie pakietu i Funkcje wydają się absurdalnym sposobem na powielenie typu zawartości, było to bardzo proste i dokładnie to, czego chciałem.
źródło
Clone Fields
karty u góry, wybierz pola do skopiowania, węzeł do skopiowania i gotowe.Tools
zakładkiClone fields to this bundle
, wybierz pola z istniejącego typu zawartości węzłaAdd field instances
.Odkryłem, że (stosunkowo nowy) moduł dziedziczenia pakietów jest bardzo łatwym sposobem na zrobienie tego. Pamiętaj, aby włączyć moduł „Węzeł dziedziczenia pakietu” (bundle_inherit_node) oprócz modułu bundle_inherit, wówczas podczas tworzenia nowych typów treści pojawi się nowa karta „Dziedziczenie”.
(Daje to również wybór pomiędzy „miękkim dziedziczeniem” a „ścisłym dziedziczeniem” ... o ile mogę zebrać, „miękkie dziedziczenie” po prostu wykonuje jednorazową kopię pól, podczas gdy „ścisłe dziedziczenie” śledzi hierarchia dziedziczenia).
źródło
Najprostszym sposobem jest skorzystanie z funkcji kopiowania pakietów - wersji 7.2, która jest w fazie rozwoju, ale działała idealnie dla mnie.
Po zainstalowaniu modułu przejdź do strony „typy zawartości” i kliknij nową kartę „klonuj”.
W obszarze „Pakiet źródłowy” wybierz typ zawartości, który chcesz sklonować.
W polu „Nowa nazwa pakietu” wprowadź nazwę nowego typu zawartości, który chcesz utworzyć. Kliknij „klon”, a zobaczysz nowy typ zawartości na liście.
Narzędzia polowe również wykonują zadanie, ale nie jest to tak proste.
źródło
Tylko dla historii jest jeszcze jeden moduł, który sobie z tym poradzi.
Config in Code (CINC)
źródło
W przeciwnym razie Klonowanie typu treści pozwala to zrobić szybko i prosto, bez konieczności patrzenia na kod PHP lub wykonywania skomplikowanych operacji:
https://www.drupal.org/sandbox/davidfiaty/2745827
W tej chwili jest to projekt piaskownicy, ale wkrótce będzie dostępny jako oficjalny moduł Drupala.
Edycja: Oficjalne wydanie Klonu typu treści dla Drupala 7 jest już dostępne! https://www.drupal.org/project/content_type_clone Wersja Drupal 8 już wkrótce.
źródło