मैंने एक नए ब्रेडक्रंब ओवरराइड को परिभाषित करने की कोशिश की है, लेकिन मुझे अभी भी साइट डिफ़ॉल्ट मिल रही है।
मैंने एक कस्टम मॉड्यूल बनाया है, foo_breadcrumb:
- modules/custom/foo_breadcrumb
- foo_breadcrumb.info.yml
- foo_breadcrumb.services.yml
- src/
- BreadcrumbBuild.php
यहाँ है foo_breadcrumb.services.yml
:
services:
foo_breadcrumb.breadcrumb:
class: Drupal\foo_breadcrumb\BreadcrumbBuild
tags:
- { name: breadcrumb_builder, priority: 100 }
अंदर 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;
}
}
?>
मैंने ड्रुपल 8 ब्रेडक्रंब पर मिलने वाले एकमात्र राइटअप से काम करना शुरू कर दिया , लेकिन बात यह है कि यह PSR-4 के पुराने संस्करण का उपयोग करता प्रतीत होता है, जो कि अब ऑटोलिडिंग नहीं है (रिकॉर्ड के लिए मैं 8.0.0 पर हूं) -देव-बीटा 3), और इसलिए मैं कोडबेस में अन्य सभी मॉड्यूल कैसे काम करता हूं, इसके बारे में बताता हूं।
मॉड्यूल लोड करने के लिए सही होने के लिए अब मुझे यह निश्चित है; हालाँकि मुझे यकीन नहीं है कि अगर
class BreadcrumbBuild extends BreadcrumbBuilderBase
सही है। समस्या यह है कि मैं जिस पुराने ट्यूटोरियल से जुड़ा था BreadcrumbBuilderBase
उसका विस्तार किया जा रहा है , लेकिन अधिक वर्तमान डॉक्स इसका उल्लेख नहीं करते हैं और मुझे आश्चर्य है कि अगर यह पुराना है - और मुझे यह कैसे करना चाहिए।
इसी तरह, मैं वास्तव में यह नहीं समझता कि services.yml
इस संबंध में फाइल क्या कर रही है, इसके लिए कहीं भी कोई दस्तावेज नहीं है।