Submitted by Soundboy39 on
Bonjour à tous,
Je dois développer assez rapidement (pour demain soir) un petit module pour drupal, je n'ai jamais fais donc je découvre...
Je vois qu'il s'agit d'un système de Hook comme dans pas mal de contextes d'extension.
J'ai donc créé les fichiers de mon module et je l'ai installé. Celui-ci est bien pris en compte par Drupal.
Seulement je n’arrive pas à faire d'interaction... je pars de quelque chose de très basique : hook_boot(), qui d'après ce que j'ai compris s’exécute à chaque fois qu'une page est chargée.
J'ai simplement ajouté ces lignes dans mon fichier "mymod_modules.module" :
function mymod_boot() {
$step = 'ligne : '.LINE.' fichier : '.FILE;
var_dump($step); die();
}
Absolument rien ne se passe... qui peut me dire ce que je fais mal ou que je ne fais pas ??
Merci d'avance pour votre aide !
Bonjour :)
Permalien Soumis par michael-emerya (non vérifié) le 4 Septembre, 2014 - 16:14
Bonjour :)
As-tu bien la hiérarchie requise pour la création d'un module sur drupal, à savoir un dossier avec le nom de ton module dans sites/all/modules contenant un fichier .info et ton fichier .module (au minimum).
tu pourras trouver une explication ainsi que des exemples ici : http://ifzenelse.net/fr/comment-creer-un-module-drupal-7-1-fichiers-et-a...
de plus, si ton module s'appel "mymod_modules" alors ton hook doit être "mymod_modules_boot" et non pas "mymod_boot"
Le préfixe devant le "_boot"
Permalien Soumis par vincent59 le 4 Septembre, 2014 - 16:14
Le préfixe devant le "_boot" doit correspondre au nom de ton module.
D'après ce que tu dis, ton module s'appelle mymod_modules.
Il doit y avoir un mymod_module.info, mymod_modules.module.
Dans ce cas la fonction doit être
mymod_modules_boot
Sinon tu peux aussi tenter avec hook_page_alter (et donc mymod_modules_page_alter). Car le boot s'effectue avant tout le reste, je ne suis même pas sur qu'il génère du code html.
Merci pour vos réponses,
Permalien Soumis par Soundboy39 le 5 Septembre, 2014 - 09:24
Merci pour vos réponses,
Effectivement j'ai oublié un bout du nom du module... çà fonctionne mieux comme avec ;)