Jak sklonować typ zawartości? [Zamknięte]

14

Chcę sklonować typ węzła i dodać w nim kilka pól. Myślę, że najłatwiej będzie je zduplikować i rozpocząć pracę nad nim.

Wygląda na to, że nie ma oficjalnego sposobu klonowania typu zawartości w Drupal 7. Funkcje mogą na to pozwolić, ale nie ma pisemnej procedury dotyczącej tego, jak można to zrobić.

Próbowałem nawet modułu kopiowania pakietów.

Jak najlepiej sklonować dowolny typ zawartości w Drupal 7?

Aga
źródło
Właśnie zauważyłem, że próbowałeś skopiować pakiet ... Używam tego cały czas, co nie działało?
Clive
1
@NikhilM Dodanie pól sprawia, że ​​jest to podobne pytanie, ale nie duplikat 11645.
mpdonadio

Odpowiedzi:

12

Najprostszym sposobem jest skorzystanie z modułu kopiowania pakietu , ale jeśli nie możesz go uruchomić, zaleciłbym moduł zarządzania konfiguracją .

Moduł zarządzania konfiguracją umożliwia śledzenie określonych konfiguracji w witrynie Drupal, umożliwia przenoszenie tych konfiguracji między różnymi środowiskami (lokalnymi, programistycznymi, qa, prod), a także przenoszenie konfiguracji między całkowicie różnymi lokalizacjami (migrowanie konfiguracji) bez użycia modułów, których cała konfiguracja jest własnością serwisu.

Jest w zasadzie wyposażony w rzeczy, których nie potrzebujesz. Jego jedynym celem jest przenoszenie konfiguracji z jednej strony do drugiej.

Clive
źródło
Jak korzystać z kopii pakietu? Wyeksportowałem typ artykułu - co teraz zrobić, aby zmienić jego nazwę przed zaimportowaniem tego samego kodu?
AgA
Po prostu uruchom ciąg zamień ... zamień 'old_content_type' na 'new_content_type', nigdy wcześniej nie miałem problemu z użyciem tej metody
Clive
Dzięki ... czy mogę zamienić „artykuł” na klonowanie typu zawartości artykułu?
AgA
Tak, ale upewnij się, że zamieniany ciąg znaków rozróżnia małe i wielkie litery oraz że zawiera apostrofy (nie jest to dokładna nauka). Tak więc wygląda kod PHPstr_replace("'article'", "'new_type'", $export_code);
Clive
Masz na myśli tylko nazwę maszyny?
AgA
4

Używam modułu narzędzi polowych dla D7; robi dokładnie to, czego potrzebujesz.

elektrorl
źródło
Czy pomaga to w migracji wielu pól, nie wiem, jak tego użyć
pal4life,
3

Utworzyłem tutaj klon typu treści, dostępny tutaj jako projekt piaskownicy:

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

Pozwala sklonować typ zawartości jednym kliknięciem bez konieczności patrzenia na kod PHP lub wykonywania skomplikowanych operacji.

W tej chwili jest to projekt piaskownicy, ale wkrótce będzie dostępny jako oficjalny moduł Drupala. Sprawdź to!

Edycja 1: Oficjalna wersja Clone Type Content dla Drupal 7 jest już dostępna! https://www.drupal.org/project/content_type_clone Wersja Drupal 8 już wkrótce.

Edycja 2: Oficjalna wersja Klonu typu treści dla Drupala 8 jest dostępna na tej samej stronie.

David Fiaty
źródło
2

Funkcja moduł jest jeszcze najlepszym rozwiązaniem.

Oto, co musisz zrobić:

  • Wyeksportuj typ zawartości, który chcesz sklonować jako funkcję.
  • Zmień nazwę typu zawartości (tj. Zmień „nazwę komputera”) na swojej stronie Drupal
  • Prześlij i włącz swoją funkcję

Ta strona może zawierać odpowiedź na „oficjalny sposób klonowania typu zawartości w Drupal 7”.

monymirza
źródło
1
Nie mogę się zgodzić z tym przepraszam. Kopiowanie pakietu jest znacznie łatwiejsze w użyciu (i lżejsze) niż funkcje. Konfiguracja Ditto
Clive
Czy możesz mi powiedzieć, które pola należy zmienić dokładnie w wyeksportowanym module i link o tej „oficjalnej” informacji?
AgA
+1 @Clive - właśnie użyliśmy tutaj kopiowania pakietu - zapewnia opcję menu „klonuj” w „Strukturze” w menu administratora / konfiguracji Drupala, aby sklonować typ zawartości. Dokładnie to, na co liczyliśmy, rozważając ten moduł. Wygląda na to, że działa dobrze.
therobyouknow
@monymrza polegałoby to na ręcznym edytowaniu 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, w jaki generuje ten kod, mogą istnieć niewiadome / założenia dotyczące ręcznego kodowania w ten sposób i pechowych rezultatów. Użyj wersji deweloperskiej (w chwili pisania, obecnie 7.x-2.x-dev) Kopii Pakietu (poprawiłem mój oryginalny komentarz z 1 października 14 o 10:29, aby wspomnieć o funkcjonalności obecnie w wersji dev), ponieważ zapewnia to opcja menu „klonuj” w menu „struktura”, po wyjęciu z pudełka, została stworzona do tego zadania.
therobyouknow