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.ymlfile dalam hal ini, tidak ada dokumentasi di mana pun untuk ini.