Mam funkcję zainstalowaną przy użyciu profilu instalacyjnego. Ale zawsze muszę iść i przywrócić konkretny komponent, aby nie był już zastępowany (tak, aby na przykład pojawiały się bloki cechy). Chciałem tylko wiedzieć, czy mogę wykonać ten krok programowo, używając samego kodu w profilu instalacyjnym.
Na poniższym zrzucie ekranu pokazałem komponent, który należy programowo przywrócić (na zrzucie ekranu jest już cofnięty, więc pole wyboru nie jest dostępne).
Odpowiedzi:
Oto kilka przemyśleń na temat resetowania funkcji programowo lub jako dodatkowych skryptów instalacyjnych.
Możesz użyć Drush, aby zresetować funkcję :
drush features-revert [feature name]
Innym pomysłem byłoby użycie features_revert () podczas procesu instalacji:
features_revert(array('module' => array('component')));
Strongarm Moduł może być przydatny także do wymusić swoją funkcję , aby zachować swój stan domyślny myślę.
Muszę się zgodzić z @Letharion w jego komentarzu do twojego OP. Chciałbym wiedzieć, że inne ważne rzeczy nie są omyłkowo modyfikowane podczas procesu instalacji.
źródło
Przywróć WSZYSTKIE komponenty w operacji
źródło
Możesz przywrócić pojedynczy moduł funkcji za pomocą features_revert_module () .
źródło
Gdzie „moduł” to nazwa modułu określonych funkcji (tj. Moduł wygenerowany podczas pobierania funkcji), a „komponent” to komponenty tych funkcji. Jeśli więc chcesz tylko cofnąć pola zdefiniowane w obiekcie, możesz użyć „pola” dla komponentu.
źródło
Mógłbym rozwiązać ten problem, używając funkcji
fe_block_settings_features_revert('basic_site')
przechwytywania, gdzie fe_block_settings jest zaczepem, tj. Tutaj komponent, a basic_site to nazwa funkcji / modułu.źródło
Służy
features_revert()
do przywracania określonych składników tylko w przypadku składni:na przykład:
Aby przywrócić cały moduł (ze wszystkimi jego komponentami), użyj
features_revert_module()
zamiast tego, na przykład:Zasady
W przypadku reguł ta metoda jest znacznie szybsza (aby przywrócić pojedynczą regułę):
Aby przywrócić wszystkie reguły, jest to:
Zobacz: Dodaj zasady drush-revert [# 2474577] | Drupal.org
źródło
Aby przywrócić wszystkie przesłonięte komponenty wszystkich funkcji w profilu instalacyjnym, dodaj następujące polecenie do pliku hook_profile_tasks (.) W pliku .profile:
źródło
źródło