Ho provato a definire un nuovo override breadcrumb, ma sto ancora ottenendo il sito predefinito.
Ho creato un modulo personalizzato, foo_breadcrumb:
- modules/custom/foo_breadcrumb
- foo_breadcrumb.info.yml
- foo_breadcrumb.services.yml
- src/
- BreadcrumbBuild.php
Ecco il foo_breadcrumb.services.yml
:
services:
foo_breadcrumb.breadcrumb:
class: Drupal\foo_breadcrumb\BreadcrumbBuild
tags:
- { name: breadcrumb_builder, priority: 100 }
All'interno src/BreadcrumbBuild.php
, ho:
<?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;
}
}
?>
Ho iniziato a lavorare sull'unico writeup che ho trovato su Drupal 8 breadcrumb , ma il fatto è che sembra che stia usando una versione precedente del caricamento automatico PSR-4 che non è più a posto (per la cronaca sono su 8.0.0 -dev-beta3), e quindi ho analizzato come funzionano tutti gli altri moduli nella base di codice.
Ora sono abbastanza sicuro che sia corretto caricare il modulo; tuttavia non sono sicuro se
class BreadcrumbBuild extends BreadcrumbBuilderBase
è corretta. Il problema è che il vecchio tutorial che ho collegato alle menzioni si estende BreadcrumbBuilderBase
, ma i documenti più recenti non sembrano menzionarlo e mi chiedo se non è aggiornato - e come dovrei farlo.
Allo stesso modo, non capisco davvero cosa services.yml
stia facendo il file a questo proposito, non c'è documentazione da nessuna parte per questo.