আমি কীভাবে থিমের লোগো সেট করব?


16

ড্রপাল 8-এ আমি কীভাবে আমার কাস্টম থিমে লোগো সেট করতে পারি?

আমি দেখতে পাচ্ছি যে দ্রুপাল লোগো.এসভিজি ফাইল অনুসন্ধান করে। আমার কাছে একটি পিএনজি লোগো.পিএনজি ফাইল রয়েছে যা আমি ড্রুপাল 7 এ ব্যবহার করেছি এবং আমি এটি পুনরায় ব্যবহার করতে চাই। আমি ড্রুপাল 7 এর মতো লোগোটিকে থিম সেটিং হিসাবে সেট করতে পারি না।

লোগো সেট করার কোনও থিমটিতে ইউআই বা কাস্টম কোডের মাধ্যমে কোনও উপায় আছে?


ড্রুপাল 8 কোডটি দেখে, আমি দেখতে পাচ্ছি এটির মধ্যে এখনও একটি কাস্টম লোগোটির সেটিংস রয়েছে, যদি ডিফল্ট কোনওটি সক্ষম না করা থাকে।
কিমলালুনো

হ্যাঁ, যদি আপনি "থিম দ্বারা সরবরাহিত ডিফল্ট লোগো ব্যবহার করুন" অক্ষম করে রাখেন তবে আপনি একটি লোগো চয়ন করতে পারেন। আমি
ড্রুপালকে

উত্তর:


15

দ্রুপাল 8.6.x এর পরে

আপনার THEME.info.ymlলাইনে একটি লাইন যুক্ত করুন logo: logo.png। এই পরিবর্তনটি সনাক্ত করতে আপনাকে দ্রুপালের জন্য ক্যাশে সাফ করা দরকার।

ড্রুপাল এর আগে 8.6.x

ডিফল্ট লোগো ফাইলটি এখন logo.svgড্রুপাল ৮ এ পরিণত হয়েছে However তবে, ব্যবহার করতে logo.pngবা অন্য কিছু, আপনার থিমটিতে কাস্টম সেটিংস সংজ্ঞা যুক্ত করতে হবে। এটি করতে, config/install/THEME.settings.ymlআপনার থিম ফোল্ডারে ফাইল করার জন্য নিম্নলিখিত লাইনগুলি যুক্ত করুন ( THEMEআপনার থিমের মেশিনের নাম দিয়ে প্রতিস্থাপন করুন)।

logo:
  path: 'themes/THEME/logo.png'
  use_default: false

এটি করার পরে, ইতিমধ্যে ইনস্টল করা থাকলে আপনার থিমটি পুনরায় ইনস্টল করতে হবে। থিম ইনস্টল হওয়ার পরে ফাইলটি দ্রুপালকে প্রদত্ত সেটিংসটি ইনস্টল করতে বলে। অতএব, আপনি থিমটি ইনস্টল করার সময় লোগো pathপ্যারামিটারটি ডাটাবেসে সংরক্ষণ হবে এবং use_defaultপরামিতি দ্বারা ডিফল্ট লোগো অক্ষম করা হবে ।


1
আশা করি আপনি উল্লিখিত নির্দেশাবলী কার্যকর করেছেন। এছাড়াও, থিমটি পুনরায় ইনস্টল করতে বা কনফিগারেশনটির মতো আমদানি করতে ভুলবেন না drush cim -y --partial --source=path/to/theme/config/install। আমি এটি বেশ কয়েকবার ব্যবহার করেছি এবং এটি কার্যকর হয়।
জিগেরিয়াস

আপনি নিম্নলিখিত কোডটি ব্যবহার করে কনফিগারটি পুনরায় আমদানি করতে পারেন (যেমন একটি আপডেট হুক থেকে)) \Drupal::service('config.installer')->installDefaultConfig('theme', 'theme_name');
নোটটি

আমি বারটিকের থিমটি সেট করার চেষ্টা করেছি এবং তারপরে আমার থিমটিতে ফিরে এসে সেটিংস আপডেট না করে। ড্রাশের জন্য আমার কাছে কমান্ড লাইনে অ্যাক্সেস নেই। আমি কীভাবে থিমটি পুনরায় ইনস্টল করব?
জেফ

6

নিয়মিত থিমগুলির জন্য, আপনি কেবল উপস্থিতি পৃষ্ঠায় যেতে পারেন, সেটিংস ট্যাবে যেতে পারেন এবং নির্বাচন নির্বাচন করতে পারেন Use the logo supplied by the theme। প্রদর্শিত আপলোড ফর্মটি পরিবর্তে অন্য চিত্র আপলোড করতে দেয়।

ধাপ

আপনি যদি সত্যিই থিমটি তৈরি করছেন এবং কোনও ডিফল্ট চিত্র সরবরাহ করতে চান তবে দয়া করে অন্য একটি উত্তর দেখুন to


5

আপনার থিমের MYTHEME.theme ফাইলটিতে, নিম্নলিখিত কোডটি যুক্ত করুন।

/**
 * Implements hook_preprocess_HOOK() for block templates.
 */

function MYTHEME_preprocess_block(&$variables) {
  switch ($variables['base_plugin_id']) {
    case 'system_branding_block':
      $variables['site_logo'] = '';
      if ($variables['content']['site_logo']['#access'] && $variables['content']['site_logo']['#uri']) {
        $variables['site_logo'] = str_replace('.svg', '.png', $variables['content']['site_logo']['#uri']);
      }
      break;

  }
}

MYTHEME ডিরেক্টরিতে লোগো ফাইলটি রাখুন। আপনার থিমের মেশিনের নামটি দিয়ে মিথ্যাকে প্রতিস্থাপন করুন।


5

ড্রুপাল 8.6 হিসাবে আপনার অবদান বা কাস্টম থিম (এটি মাইথেনাম বলা হয়) সহজেই তার mythemename.info.ymlফাইলে ডিফল্ট লোগোটি সংজ্ঞায়িত করতে পারে :

logo: images/acme-logo-stacked.png

Https://www.drupal.org/docs/8/theming-drupal-8/defining-a-theme-with-an-infoyml-file#logo দেখুন

নোট করুন যে ব্যবহার করতে লোগো use_defaultসেটিংস সত্য হতে হবে।


এটি এখন হয়, দেখতে ThemeInitialization
বার্লিনার

4

ড্রুপাল 8-এ, ডিফল্ট লোগোতে একটি এসভিজি ফাইল হওয়া দরকার। আপনি এখনও একটি কাস্টম লোগো সহ একটি পিএনজি ফাইল ব্যবহার করতে পারেন, বা থিমের যদি নন-এসভিজি ডিফল্ট লোগোগুলিকে সমর্থন দেওয়ার জন্য অতিরিক্ত কাস্টম সেটিংস থাকে।

থিমগুলির জন্য ডিফল্ট লোগো প্রকারের মধ্যে এটিই প্রতিবেদন করেছে যা দ্রুবল 8.0.0-বিটা 5 এর পরিবর্তনের রেকর্ড V

মন্তব্যে হিসাবে রিপোর্ট করা হয়েছে, আপনি থিম সেটিংস ফাইলে নিম্নলিখিতগুলিও ব্যবহার করতে পারেন।

logo:
  path: 'themes/THEME_NAME/logo.png'
  use_default: false

এটি ইউআই থেকে সেট না করে স্বয়ংক্রিয়ভাবে একটি কাস্টম লোগো ব্যবহার করবে।


3

/ আপনার -রূপাল- ফোল্ডার / থিম / টেমি / থেম ফাইলটিতে এটি যুক্ত করুন:

function THEME_preprocess_page(&$variables) {
  global $base_url, $base_path;
  $variables['logo'] = $base_url . $base_path . drupal_get_path('theme','THEME') . '/logo.svg';

  ##Uncomment this if you want to use png instead of svg image
  #$variables['logo'] = str_replace('.svg', '.png', $variables['logo']);
}

1

ড্রুপাল 8.6 এ এটি আপনার .info.yml ফাইলটিতে নিম্নলিখিত হিসাবে সেট করা যেতে পারে:

logo: 'images/MY_THEME_LOGO.png'

থিম পাথটি স্বয়ংক্রিয়ভাবে এসআরসি পাথে যুক্ত হবে


0

আমি মনে করি না আপনি কোড পরিবর্তন করতে হবে। কিছু ক্ষেত্রে, Global settingsসম্ভবত থিমের লোগোটি নিতে আপনাকে বিরতি দিচ্ছে। সুতরাং, গ্লোবাল সেটিংসের বিষয়ে নিশ্চিত LOGO IMAGEহন এবং আপনার থিম লোগোটি ড্রুপাল 8 (কিছু ক্ষেত্রে) তে একই হওয়া উচিত।


0

একটি সাধারণ বিকল্পটি কাস্টম ব্লকে লোগো স্থাপন করা place

/ অ্যাডমিন / কাঠামো / অবরুদ্ধ / অবরুদ্ধ-সামগ্রী

এই নমনীয় এবং বিশদভাবে কার্যকর যদি আপনি চান যে লোগোটি সাইটের অন্যান্য বিভাগে সোয়েতে আলাদা দেখায়

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.