JavaScript-tag incorporeren (Drupal)
Dit artikel is nav. de vraag hoe je een hotjar-tag toevoegt aan een site. Maar ook relevant voor Drupal Commerce AdWords-module
Inventaris: Hotjar-script-tag toevoegen (dec. 2016)
Long list
drupal_add_js
[1] - Achterhaald, [2]- Render arrays [3]
- Iets met libraries [4]
- Opnemen in
head.tpl.php
-template file - Functie
drupal_add_html_head
[5] - Attached form [6]
drupal_add_js
+drupal_get_path
+template.php
-call- Apart bestand + aanroepen vanuit html.tpl.php mte
drupal_add_js
- Opnemen in een block
Short list
drupal_add_js
+ page preprocess-functie- Block
- Hotjar-module voor Drupal
Nog shorter list
- Block
- Hotjar-module voor Drupal
Beiden toegepast en beiden leken probleemloos te werken.
Casus: Hello World-tag op elke pagina (dec. 2016)
Ik wil een simpele Hello World!-tag op elke pagina invoegen. Hoe doe je dat?
Je hebt drie dingen nodig, eventueel gecombineerd in één aanroep:
- Een hook (event) om de tag in te voegen
- Een functie oid. om de code daadwerkelijk in te voegen. In dit geval betreft dit inline code
- De betreffende JavaScript-tag.
Hello World in JavaScript
Ah, dit is simpel. Je hebt niet eens een webserver nodig voor processing:
Dit is html<br> <script> alert('Hello, world!') </script> En dit is weer html<br>
Het eigenlijkse script is dus alert('Hello, world!')
Hook
In Drupal 6 had je hook_footer
om code toe te voegen aan de speciale variabele $closure
, die werd uitgevoerd aan het eind van een pagina. In Drupal 7 heb je daar deze twee functies voor, in combinatie met verborgen regions [7]:
hook_page_build()
hook_page_alter()
.
Tag invoegen
Er lijken meerdere manieren te zijn om een tag te incorporeren:
- drupal_js_add
- $page_bottom
- $page_top
Casus: Hello World-tag op dankjewel-pagina (dec. 2016)
Als hiervoor, maar nu alleen op de Drupal Commerce dankjewel-pagina. Functies om deze pagina te herkennen [8]:
- $GLOBALS['base_url'] => http://example.com/drupal
- base_path() => /drupal/
- request_uri() => /drupal/documentation?page=1
- request_path() => documentation
- current_path() => node/26419
Toegepast op de dankjewel-pagina:
- base_path() → /
- current_path() → checkout/27730/complete
- request_path() → checkout/27730/complete
Zie ook
Bronnen
Hotjar
- https://www.drupal.org/docs/7/api/javascript-api/adding-javascript-to-your-theme-or-module
- https://www.drupal.org/node/1019896 - Drupal 7 - Add Script to Head tag
- https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_add_html_head/7.x - Hoopvol, inclusief een voorbeeld van een rendered array. Let op: Dit is HTML, geen JS
- http://drupal.stackexchange.com/questions/68696/how-do-i-add-javascript-to-a-node-or-block
- https://docs.hotjar.com/docs/drupal - How to add Hotjar tracking code to Drupal
Casus: Hello World-tag op elke pagina