Drupal 9
Veel website hebben (vaak onderaan de pagina) een tekst staan als: ‘Copyright © van jaar - huidig jaar …’, zoals deze website: ‘Copyright © 2006-xxxx …’. Anderen hebben de voorkeur voor: ‘Copyright © huidig jaar …’.
Deze tekst staat meestal in een ‘Aangepast blok’ (Custom block). Het is echter niet mogelijk om het huidige jaar als een variabele via het token systeem te substitueren. En om ieder jaar op 1 januari het jaar aan te gaan passen roept om ‘vergeten, sorry’.
Hieronder staat een heel kleine module die dit automatiseert. Er zijn drie restricties:
- de tekst moet in een blok staan;
- het blok moet als naam ‘Voet’ hebben (maar de naam is aanpasbaar);
- in de tekst moet de plaats voor het huidige jaar worden met de variabele: =jaar=. Ook deze variabele is aanpasbaar.
Voorbeeld: Copyright © 2006-=jaar= PROMES BV …
De module met naam voet_jaar bestaat uit 2 bestanden:
- voet_jaar.info.yml
- voet_jaar.module
In voet_jaar.info.yml staan de basisgegevens van de module:
name: Voet jaar
description: Vervang in blok 'Voet' '=jaar=' door huidig jaar
type: module
core_version_requirement: ^9
package: Administration
version: '1.0.0'
Bestand voet_jaar.module ziet er zo uit:
<?php
/**
* Vervang in block 'Voet' '=jaar=' door huidig jaar.
*/
use Drupal\block_content\Entity\BlockContent;
/**
* Implements hook_ENTITY_TYPE_view_alter()
*/
function voet_jaar_block_content_view_alter(array &$build, BlockContent $block) {
if ($block->label() == 'Voet' && !empty($build['body'][0]['#text'])) {
$tekst = str_replace('=jaar=', date('Y'), $build['body'][0]['#text']);
$build['body'][0]['#text'] = $tekst;
}
}
Zet deze twee bestanden samen in een map voet_jaar in je website en installeer deze module. Vergeet niet je blok te maken en zichtbaar te maken op je pagina.