Intenté definir una nueva anulación de la ruta de exploración, pero todavía obtengo el sitio predeterminado.
He creado un módulo personalizado, foo_breadcrumb:
- modules/custom/foo_breadcrumb
- foo_breadcrumb.info.yml
- foo_breadcrumb.services.yml
- src/
- BreadcrumbBuild.php
Aquí está el foo_breadcrumb.services.yml
:
services:
foo_breadcrumb.breadcrumb:
class: Drupal\foo_breadcrumb\BreadcrumbBuild
tags:
- { name: breadcrumb_builder, priority: 100 }
En el interior src/BreadcrumbBuild.php
, tengo:
<?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;
}
}
?>
Comencé a trabajar en la única escritura que pude encontrar en Drupal 8 breadcrumbs , pero la cuestión es que parece estar usando una versión anterior de la carga automática de PSR-4 que ya no está en su lugar (para el registro estoy en 8.0.0 -dev-beta3), y entonces analicé cómo funcionan todos los demás módulos en la base de código.
Ahora estoy bastante seguro de que esto es correcto para cargar el módulo; sin embargo no estoy seguro si
class BreadcrumbBuild extends BreadcrumbBuilderBase
es correcto. El problema es que el antiguo tutorial al que me vinculé menciona que se extiende BreadcrumbBuilderBase
, pero los documentos más actuales no parecen mencionarlo y me pregunto si está desactualizado y cómo debería hacerlo.
Del mismo modo, realmente no entiendo lo services.yml
que está haciendo el archivo a este respecto, no hay documentación en este lugar.