Saya memiliki Fitur yang diinstal menggunakan Profil Instalasi. Tapi saya selalu harus pergi dan Kembalikan Komponen tertentu sehingga tidak lagi Ditimpa (sehingga, misalnya, Blok Fitur muncul). Saya hanya ingin tahu apakah saya dapat mengambil langkah ini secara terprogram menggunakan kode itu sendiri di Profil Instalasi.
Pada tangkapan layar di bawah ini, saya telah menunjukkan komponen yang harus dipulihkan secara programatik (dalam tangkapan layar, komponen itu sudah dikembalikan kembali sehingga kotak centang tidak tersedia).
Jawaban:
Berikut adalah beberapa pemikiran tentang mengatur ulang fitur Anda secara terprogram atau sebagai add-on install scripts.
Anda dapat menggunakan Drush untuk mengatur ulang Fitur :
drush features-revert [feature name]
Pemikiran lain adalah menggunakan fitur_revert () selama proses instalasi:
features_revert(array('module' => array('component')));
The StrongArm modul dapat berguna juga untuk memaksa Anda Fitur untuk mempertahankan keadaan default saya pikir.
Saya harus setuju dengan @Letharion dalam komentarnya di OP Anda. Saya ingin tahu bahwa hal-hal penting lainnya tidak salah dimodifikasi selama proses instalasi.
sumber
Kembalikan SEMUA komponen dalam fitur
sumber
Anda dapat mengembalikan modul fitur tunggal dengan features_revert_module () .
sumber
Di mana 'modul' adalah nama modul fitur spesifik (yaitu modul yang dihasilkan ketika Anda mengunduh fitur) dan 'komponen' adalah komponen dari fitur-fitur tersebut. Jadi, jika Anda hanya ingin mengembalikan bidang yang ditentukan dalam fitur Anda dapat menggunakan 'bidang' untuk komponen.
sumber
Saya bisa mengatasi masalah ini dengan menggunakan fungsi hook di
fe_block_settings_features_revert('basic_site')
mana fe_block_settings adalah hook yaitu komponen di sini dan basic_site adalah nama fitur / modul.sumber
Gunakan
features_revert()
untuk mengembalikan komponen tertentu hanya jika sintaksnya adalah:sebagai contoh:
Untuk mengembalikan seluruh modul (dengan semua komponennya), gunakan
features_revert_module()
sebaliknya, misalnya:Aturan
Untuk aturan, metode ini jauh lebih cepat (untuk mengembalikan aturan tunggal):
Untuk mengembalikan semua aturan, ini:
Lihat: Tambahkan aturan drush-revert [# 2474577] | Drupal.org
sumber
Untuk mengembalikan semua komponen yang ditimpa semua Fitur di Profil Instalasi Anda, tambahkan berikut ini ke file_profile hook_profile_tasks Anda ():
sumber
sumber