Yeni bir kırıntı geçersiz kılma tanımlamaya çalıştım, ancak yine de site varsayılanını alıyorum.
Foo_breadcrumb özel bir modül oluşturdum:
- modules/custom/foo_breadcrumb
- foo_breadcrumb.info.yml
- foo_breadcrumb.services.yml
- src/
- BreadcrumbBuild.php
İşte foo_breadcrumb.services.yml
:
services:
foo_breadcrumb.breadcrumb:
class: Drupal\foo_breadcrumb\BreadcrumbBuild
tags:
- { name: breadcrumb_builder, priority: 100 }
İçimde src/BreadcrumbBuild.php
:
<?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;
}
}
?>
Drupal 8 ekmek kırıntılarında bulabileceğim tek yazı üzerinde çalışmaya başladım , ancak mesele artık PSR-4 otomatik yüklemesinin artık yerinde olmayan eski bir sürümünü kullanıyor gibi görünüyor (kayıt için 8.0.0'dayım -dev-beta3) ve diğer tüm modüllerin kod tabanında nasıl çalıştığını anladım.
Şimdi modülün yüklenmesini sağlamak için bunun doğru olduğundan eminim; ancak emin değilim
class BreadcrumbBuild extends BreadcrumbBuilderBase
doğru. Sorun şu ki, bahsettiğim eski öğretici, genişleyen sözler BreadcrumbBuilderBase
, ancak daha güncel dokümanlar bundan bahsetmiyor gibi görünüyor ve güncel olup olmadığını merak ediyorum - ve bunu nasıl yapmalıyım.
Aynı şekilde, services.yml
dosyanın bu konuda ne yaptığını gerçekten anlamıyorum , bunun için hiçbir yerde belge yok.