J'ai essayé de définir un nouveau remplacement de fil d'Ariane, mais j'obtiens toujours le site par défaut.
J'ai créé un module personnalisé, foo_breadcrumb:
- modules/custom/foo_breadcrumb
- foo_breadcrumb.info.yml
- foo_breadcrumb.services.yml
- src/
- BreadcrumbBuild.php
Voici le foo_breadcrumb.services.yml
:
services:
foo_breadcrumb.breadcrumb:
class: Drupal\foo_breadcrumb\BreadcrumbBuild
tags:
- { name: breadcrumb_builder, priority: 100 }
A l'intérieur src/BreadcrumbBuild.php
, j'ai:
<?php
namespace Drupal\foo_breadcrumb;
use Drupal\Core\Breadcrumb\BreadcrumbBuilderBase;
class BreadcrumbBuild implements BreadcrumbManager {
/**
* {@inheritdoc}
*/
public function applies(array $attributes) {
return true;
}
/**
* {@inheritdoc}
*/
public function build(array $attributes) {
$breadcrumb[] = $this->l($this->t('Test'), NULL);
$breadcrumb[] = $this->l($this->t('Test2'), 'test');
return $breadcrumb;
}
}
?>
J'ai commencé à travailler sur le seul document que je pouvais trouver sur le fil d'Ariane Drupal 8 , mais le problème est qu'il semble utiliser une ancienne version de l'autochargement PSR-4 qui n'est plus en place (pour mémoire, je suis sur 8.0.0 -dev-beta3), et donc je suis passé par la façon dont tous les autres modules fonctionnent dans la base de code.
Maintenant, je suis assez certain que cela est correct pour charger le module; mais je ne sais pas si
class BreadcrumbBuild extends BreadcrumbBuilderBase
est correct. Le problème est que l'ancien tutoriel que j'ai lié aux mentions s'étendait BreadcrumbBuilderBase
, mais les documents les plus récents ne semblent pas le mentionner et je me demande s'il est obsolète - et comment je dois le faire.
De même, je ne comprends pas vraiment ce que fait le services.yml
fichier à cet égard, il n'y a aucune documentation pour cela.