Ajouter un commentaire

Soumis par Yann Weyer (non vérifié) le 04/03/2016 à 00:11 - Permalien

Hello,

Merci pour ton article, j'étais justement en train de me casser les dents sur ce point, à essayer de trouver quel hook permettait de supprimer ces balises, et je ne m'attendais pas à tomber sur une ressource en français.

Simple remarque, j'ai toujours entendu dire que le `switch` était très lourd en PHP, et qu'il valait mieux lui préférer un comparaison sur `in_array` ou sur `isset`. Cela donnerait le résultat suivant:
```
/**
* Implements hook_entity_view_alter().
*/
function MYMODULE_entity_view_alter(array &$build, Drupal\Core\Entity\EntityInterface $entity, \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display) {

if ($build['#view_mode'] == 'full' && $entity Instanceof \Drupal\node\NodeInterface) {
if (!isset($build['#attached']['html_head_link'])) {
return;
}

$html_head_link = $build['#attached']['html_head_link'];
$keys_to_remove = ['delete-form', 'edit-form', 'version-history', 'revision'];

foreach ($html_head_link as $key => $value) {
if (isset($value[0]['rel']) && in_array($value[0]['rel'],$keys_to_remove)){
unset($build['#attached']['html_head_link'][$key]);
}
}
}
}
```
(idem pour les pages)

==> Qu'en penses-tu ?