ড্রুপাল 8-এ, আপনি বর্তমানে কোনও মডিউলে কোন থিমটি ব্যবহার করছেন তা বের করার কোনও উপায় আছে? মডিউলের কোডের মধ্যে আমার প্রোগ্রামামিকভাবে নামটি নেওয়া দরকার।
ড্রুপাল 8-এ, আপনি বর্তমানে কোনও মডিউলে কোন থিমটি ব্যবহার করছেন তা বের করার কোনও উপায় আছে? মডিউলের কোডের মধ্যে আমার প্রোগ্রামামিকভাবে নামটি নেওয়া দরকার।
উত্তর:
থিম ম্যানেজারটি ব্যবহার করা আপনার থিম সম্পর্কে তথ্য পাওয়ার সঠিক ড্রুপাল 8 উপায়।
\Drupal::service('theme.manager')->getActiveTheme()
ড্রুপাল 8-এ একটি সাধারণ নিয়ম হ'ল ম্যানেজার (/ হ্যান্ডলার) পরিষেবাটি সন্ধান করা।
** দ্রষ্টব্য: Neographic734 হিসাবে চিহ্নিত হিসাবে , সক্রিয় থিম অবজেক্টটি\Drupal::service('theme.manager')->getActiveTheme() ফিরিয়ে দেবে । আপনি যদি থিম মেশিন-নাম পেতে চান তবে ব্যবহার করুন\Drupal::service('theme.manager')->getActiveTheme()->getName()
এটি এটি করবে:
$config = \Drupal::config('system.theme');
print $config->get('default');
আপনি আপনার উপলব্ধ কনফিগারগুলি অন্বেষণ করতে সর্বদা ড্রাশ ব্যবহার করতে পারেন:
drush config-list
এবং
drush config-list system
আমাকে একটি তালিকা দিয়েছে:
...
system.rss
system.site
system.theme.global
system.theme
...
এবং তারপরে আমি নিম্নলিখিতগুলির সাথে চেক করতে পারি:
drush cget system.theme.global
এবং
drush cget system.theme
অবশেষে এটি অনুসন্ধান করার জন্য যে এটি এমন একটি defaultসম্পত্তি রাখে যা আপনি যা চেয়েছিলেন তা ছিল।
getActiveTheme()ফাংশনটি ঠিক একইরকম ফিরে আসবে: $this->configFactory->get('system.theme')->get('default')
administration themeঅন্তর্ভুক্ত পেতে চান তবে ব্যবহার করুন:
$activeThemeName = \Drupal::service('theme.manager')->getActiveTheme();
theme used in frontনা
admistartion theme:
$defaultThemeName = \Drupal::config('system.theme')->get('default');
getName()। তাই থিমের নামটি পেতে একটি ব্যবহার করবে\Drupal::service('theme.manager')->getActiveTheme()->getName();