আমি একটি নতুন ব্রেডক্রাম্ব ওভাররাইড সংজ্ঞায়িত করার চেষ্টা করেছি, তবে আমি এখনও সাইটটি ডিফল্ট পাচ্ছি।
আমি একটি কাস্টম মডিউল তৈরি করেছি, 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;
}
}
?>
আমি ড্রপাল ৮ টি ব্রেডক্র্যাম্বসে যে একমাত্র রাইটআপটি পেয়েছিলাম তা বন্ধ করে দিয়ে কাজ শুরু করেছি , তবে জিনিসটি মনে হচ্ছে যে এটি আর নেই এমন পিএসআর -4 অটোলয়েডিংয়ের একটি পুরানো সংস্করণ ব্যবহার করছে (রেকর্ডের জন্য আমি 8.0.0 এ আছি -দেব-বিটা 3), এবং তাই আমি কোডবেসে অন্যান্য সমস্ত মডিউল কীভাবে কাজ করে তা দেখে চলেছি।
মডিউলটি লোড করার জন্য আমি এখন এই সঠিকটি নিশ্চিত করছি; তবে আমি নিশ্চিত না
class BreadcrumbBuild extends BreadcrumbBuilderBase
সঠিক. সমস্যাটি হ'ল আমি যে পুরানো টিউটোরিয়ালটি যুক্ত করেছি তার সাথে প্রসারিত উল্লেখ রয়েছে BreadcrumbBuilderBase, তবে বর্তমানের নথিগুলি উল্লেখ করেছে বলে মনে হয় না এবং আমি ভাবছি যে এটির মেয়াদ শেষ হয়ে গেছে - এবং কীভাবে আমার এটি করা উচিত।
তেমনি, services.ymlফাইলটি এই ক্ষেত্রে কী করছে তা আমি সত্যিই বুঝতে পারি না , এর জন্য কোথাও কোনও দলিল নেই।