আমি একটি নতুন ব্রেডক্রাম্ব ওভাররাইড সংজ্ঞায়িত করার চেষ্টা করেছি, তবে আমি এখনও সাইটটি ডিফল্ট পাচ্ছি।
আমি একটি কাস্টম মডিউল তৈরি করেছি, 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
ফাইলটি এই ক্ষেত্রে কী করছে তা আমি সত্যিই বুঝতে পারি না , এর জন্য কোথাও কোনও দলিল নেই।