Saya sudah mencoba mendefinisikan override breadcrumb baru, tetapi saya masih mendapatkan situs default.
Saya telah membuat modul khusus, foo_breadcrumb:
- modules/custom/foo_breadcrumb
- foo_breadcrumb.info.yml
- foo_breadcrumb.services.yml
- src/
- BreadcrumbBuild.php
Inilah foo_breadcrumb.services.yml
:
services:
foo_breadcrumb.breadcrumb:
class: Drupal\foo_breadcrumb\BreadcrumbBuild
tags:
- { name: breadcrumb_builder, priority: 100 }
Di dalam src/BreadcrumbBuild.php
, saya punya:
<?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;
}
}
?>
Saya mulai mengerjakan satu - satunya writeup yang dapat saya temukan di remah roti Drupal 8 , tetapi masalahnya tampaknya menggunakan versi lama dari autoloading PSR-4 yang tidak lagi terpasang (sebagai catatan saya menggunakan 8.0.0 -dev-beta3), jadi saya membahas bagaimana semua modul lainnya bekerja di basis kode.
Sekarang saya cukup yakin ini benar untuk mendapatkan modul memuat; namun saya tidak yakin apakah
class BreadcrumbBuild extends BreadcrumbBuilderBase
benar. Masalahnya adalah bahwa tutorial lama yang saya tautkan dengan menyebutkan berasal dari BreadcrumbBuilderBase
, tetapi semakin banyak dokumen saat ini tampaknya tidak menyebutkannya dan saya bertanya-tanya apakah itu sudah ketinggalan zaman - dan bagaimana saya harus melakukan ini.
Demikian juga, saya tidak begitu mengerti apa yang dilakukan services.yml
file dalam hal ini, tidak ada dokumentasi di mana pun untuk ini.