Apprendre Drupal. Je sais maintenant que je peux créer un bloc via le backend, mais je préfère les pré-créer par programme, si c'est possible. En fait, je suis presque sûr que c'est possible. Mais quelle est la manière la plus simple?
26
Réponses:
Pour Drupal 7:
Utilisez les hooks hook_block_info et hook_block_view dans votre module personnalisé . hook_block_info définit le bloc. Il apparaîtra dans admin > structure > blocs . * hook_block_view * affiche le contenu. Voir les exemples ci-dessous de l'API Drupal.
Exemple de hook_block_info, où deux blocs sont définis (intitulé Syndiquer et Contenu récent):
Exemple de hook_block_view:
Reportez-vous à la page API Blocks sur Drupal.org pour la liste complète des hooks. Drupal 6 est un peu différent. Il n'y a pas de crochet hook_block_view; utilisez plutôt hook_block pour déclarer des blocs.
la source
Pour Drupal 6, la réponse courte est que vous créez un module personnalisé qui implémente hook_block .
Pour Drupal 7, vous utilisez l' API Block .
Si c'est votre première incursion dans le développement de modules, je recommande fortement le développement Pro Drupal ou le développement Pro Drupal 7 . Presque tout ce que vous devez savoir est là.
la source
Vous cherchez peut-être ce que je cherchais et je l'ai trouvé ici:
Mais quand vous regardez cette fonction, vous verrez que vous pouvez juste faire la mise à jour db_update.
la source
Dans Drupal 7, jetez un oeil à
block_add_block_form_submit
enmodules/block/block.admin.inc
.Il s'agit du formulaire de création de bloc normal; il semble simplement insérer directement les enregistrements plutôt que d'appeler une autre fonction. Notez que chaque enregistrement dans la table des blocs est lié à un seul thème (vous pouvez simplement utiliser celui actif mais il est plus sûr d'insérer des enregistrements pour tous les thèmes).
La table block_custom contient le contenu.
la source
Vous pouvez utiliser le module Fonctionnalités supplémentaires pour exporter des blocs.
Alternativement, créez simplement des enregistrements directement dans la table des blocs.
la source