Bonjour tout le monde!
Je travaille actuellement sur l'adaptation d'un site existant en html/php/js sur un site Drupal. La pertinence de ce choix n'est pas franchement à discuter puisqu'il ne dépends pas de moi.
Pour ce site, j'ai besoin de faire quelques opérations en particulier qui nécessite la création d'un module. En l’occurrence ici j'ai besoin d'afficher une carte interactive en js dans un block. J'ai fait pas mal de recherches infructueuses sur la toile pour comprendre comment on peut afficher du contenu simple en hmtl/js/php dans un module block.
Example trivial, je veux afficher ce code dans un module block:
1 2 3 4 5 6
|
<script type="text/javascript" src="jquery-min.js"></script>
<div class="myDiv"></div>
<script>
$(".myDiv").append('<p class="myText">Hello there!</p>');
</script> |
Et j'ai ma fonction "block_view" dans mon fichier "mon_module.module" tel que:
1 2 3 4 5 6
| function mon_module_block_view($delta = '') {
$block = array();
$block['subject'] = 'Titre de mon module';
$block['content'] = 'un contenu quelconque ';
return $block;
} |
admettons que je veuille replace le contenu par le code plus haut, d'une part d'après ce que j'ai pu lire, ce n'est pas la bonne pratique et surtout ça ne marche pas! Par ailleurs je voudrais me servir de l'API drupal pour insérer du js, mais comment?
block['content'] .= drupal_add_js(drupal_get_path('module', 'mon_module').'/myScript.js');
Enfin, je suis tombé sur des infos concernant le "theme system" et les templates. Donc il semblerait qu'il faille implémenter un fichier mon_module_template.tpl.php et la fonction hook_theme dans le fichier mon_module.module.
Tout ça est un peu flou, j'espère que quelqu'un pourra m'aider à comprendre ces opérations de base.
Merci d'avance!
Partager