J'essaie d'apprendre à créer un flux de travail raisonnable entre un site de développement et un site de production et j'ai décidé d'utiliser le module Fonctionnalités pour aider à accomplir cette tâche.
Sur ma première page, j'ai quelques blocs qui affichent le contenu nouvellement ajouté et le mieux noté. J'ai utilisé des fonctionnalités pour exporter ces vues mais je ne vois de toute façon pas à l'intérieur du module Fonctionnalités pour exporter mes paramètres de blocage. J'ai défini les nouveaux projets et les blocs les mieux notés à afficher dans la section de contenu d'une page. Je le filtre pour n'apparaître qu'en première page dans la vue.
Comment exporter ces paramètres de blocage dans ma fonctionnalité pour que je n'aie pas besoin de les reconfigurer sur chaque site?
Vous pouvez exporter beaucoup plus en utilisant Feature avec Strongarm et Features extra .
Strongarm donne aux constructeurs de sites un moyen de remplacer les valeurs de variable par défaut qui Drupal Les modules de base et contribués sont livrés avec. Ce n'est pas un outil d'utilisateur final, mais un outil de développeur et de constructeur de site qui fournit une API et une interface utilisateur limitée.
Fonctionnalités supplémentaires prend en charge: vocabulaires; files d'attente de nœuds (définitions); paramètres de blocage; blocs personnalisés (boîtes).
De plus Intégration des fonctionnalités UUID fournit un mécanisme pour exporter le contenu (nœuds, taxonomie, champs) dans un module de fonctionnalités.
Vous pouvez utiliser le module Boxes selon Exportation de blocs pour les fonctionnalités .
Si vous préférez ne pas installer de modules supplémentaires et que vous avez affaire à un bloc Views (où vous avez simplement besoin des paramètres de configuration du bloc), une autre option consiste à le faire au niveau du code avec un hook_update_N () implémentation dans le fichier d'installation d'un module personnalisé. Voir ci-dessous pour un exemple.
/**
* Configure block settings.
*/
function my_module_update_7101() {
// Enable blocks
db_update('block')
->fields(array(
'status' => 1,
'region' => 'content',
'visibility' => 1,
'pages' => 'node/999',
'title' => 'My Block Title',
'css' => '',
'js' => '',
))
->condition('delta', 'BLOCK_ID')
->execute();
}
Une alternative est d'utiliser mini-panneaux au lieu des blocs personnalisés comme suggéré ici . Ils fonctionnent de la même manière et les panneaux semblent être mieux pris en charge par les fonctionnalités. Si vous prévoyez déjà d'utiliser des panneaux, cela permet également d'économiser quelques modules supplémentaires.