থিম ইনস্টলের ক্ষেত্রে নির্দিষ্ট অঞ্চলগুলিতে কীভাবে ব্লক বরাদ্দ করবেন?


9

ড্রুপাল 8 ডিফল্টরূপে কয়েকটি ব্লক সরবরাহ করে। যেমন। Site Branding, Main Navigation, Powered by Drupal, Searchইত্যাদি

আমি এমন একটি থিম তৈরি করেছি যা এতে Site brandingও এমন Main Navigationঅঞ্চলে নামকরণ করা হয়েছে যেখানে সংশ্লিষ্ট ব্লকগুলি স্থাপন করা যেতে পারে।

যখন আমি আমার থিম সক্ষম Site Branding& Main Navigationব্লক মধ্যে স্থাপন করা হয় Header& First Sidebarযথাক্রমে ডিফল্টরূপে আমার থিম অঞ্চল।

আমি কিভাবে স্থাপন করতে পারেন Site Branding& Main Navigationথিমে ডিফল্ট ভাবে তাদের নিজ নিজ অঞ্চলে ব্লক ইনস্টল করবেন?


2
আপনাকে ব্লক দৃষ্টান্ত তৈরি করতে হবে যা কনফিগারেশন অবজেক্ট এবং এগুলি আপনার থিমের কনফিগার / ইনস্টল ডিরেক্টরিতে রাখতে হবে।

উত্তর:


8

প্রথমত, আপনার নিজের পছন্দসই প্রতিটি কাঙ্ক্ষিত ব্লক অঞ্চল পরিবর্তন করা উচিত Administration>Structure>Block layout Tabএবং তারপরে কনফিগার এক্সপোর্ট ফাংশনে যান:
Administration>Configuration>Development>Configuration synchronization>Export Tab>Single itemআপনার থিমের জন্য প্রতিটি ব্লক সেটিংস রফতানি করতে।
তারপরে আপনার উত্পন্ন YAML ফাইলগুলি একবার দেখে নেওয়া উচিত এবং এটিকে আপনার থিমের মধ্যে একটি নতুন ফোল্ডারে রেখে দেওয়া উচিত /config/install। এরপরে আপনি থিমটি আনইনস্টল করলেন এবং তারপরে এটি ডিফল্ট হিসাবে পুনরায় ইনস্টল করলেন।

সংক্ষিপ্তসার:
1. ইনস্টল করুন MY_THEME
2. পছন্দসই অঞ্চলে ব্লকগুলি রাখুন
3. কনফিগারেশন ফাইলগুলি রফতানি করুন uuidএবং সেগুলি থেকে মুছে দিন এবং
উদাহরণস্বরূপ Site Brandingব্লক block.block.MY_THEME_branding.ymlফাইলের জন্য মূল কনফিগারেশন হ্যাশ

langcode: en
status: true
dependencies:
  module:
    - system
  theme:
    - DEPENDENT_THEME
id: MY_THEME_branding
theme: MY_THEME
region: site_branding
weight: 0
provider: null
plugin: system_branding_block
settings:
  id: system_branding_block
  label: 'Site branding'
  provider: system
  label_display: '0'
  use_site_logo: true
  use_site_name: true
  use_site_slogan: true
visibility: {  }
  1. কনফিগারেশন ফাইলগুলিকে MY_THEME/config/optionalবা MY_THEME/config/installডিরেক্টরিতে রাখুন (আপনি যদি নিশ্চিত হন যে সমস্ত নির্ভরতা মেটাতে পারে)
  2. MY_THEMEসমস্ত ক্যাশে আনইনস্টল করুন এবং সাফ করুন
  3. MY_THEMEআবার ইনস্টল করুন

7

উত্তর খুঁজে পেয়েছি:

theme/config/installফোল্ডারের প্রতিটি ব্লকের জন্য একটি yML ফাইল (ব্লক উদাহরণ) যুক্ত করে এটি করা যেতে পারে ।

উদাহরণস্বরূপ, অঞ্চলটিতে (মেশিনের নাম ) Site Brandingব্লক (মেশিনের নাম system_branding_block) নির্ধারণ করতে ফাইলটিতে নিম্নলিখিত কোড যুক্ত করুন:Site Brandingsite_brandingconfig/install/block.block.THEME_NAME_branding.yml

langcode: en
status: true
dependencies:
  module:
    - system
  theme:
    - DEPENDENT_THEME
id: THEME_NAME_branding
theme: THEME_NAME
region: site_branding
weight: 0
provider: null
plugin: system_branding_block
settings:
  id: system_branding_block
  label: 'Site branding'
  provider: system
  label_display: '0'
  use_site_logo: true
  use_site_name: true
  use_site_slogan: true
visibility: {  }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.