কিছু অ্যাডমিন থিম সিএসএস বিধি ওভাররাইড করবেন কীভাবে? [বন্ধ]


20

অ্যাডমিন থিম নিজেই ব্যবহার না করে (কিছু থিম ফাংশন বা মডিউল হুকের মাধ্যমে) অ্যাডমিন থিম দ্বারা ব্যবহৃত কিছু সিএসএস নিয়মকে ওভাররাইড করার কোনও উপায় আছে কি? উদাহরণস্বরূপ, আমি text-align: rightঅ্যাডমিন ফর্মগুলিতে প্রতিটি পূর্ণসংখ্যার ক্ষেত্রে একটি যুক্ত করতে চাই (এবং সম্পাদনা নোডগুলিতেও)।


5
পুরোপুরি বৈধ প্রশ্ন যা বন্ধ করা উচিত নয়। অ্যাডমিন থিমটি প্রায়শই প্রয়োজন হয় (সাধারণত সাতটি) যেখানে একটি নতুন সাব থিম তৈরি করা অতিরিক্ত পরিমাণে হবে।
কারি ক্যারিয়েইনেন

উত্তর:


15

আমি এটি ব্যবহার করেই করেছি:

function mymodule_preprocess_html(&$variables) {

  global $theme;

  if ($theme === variable_get('admin_theme', 'seven')) {

    // Reference your custom stylesheet.
    drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
  }
}

এটি আমার জন্য আরও কিছুটা পাঠযোগ্য।


1
আমার জন্যও নিখুঁতভাবে কাজ করেছেন। পরিষ্কার সমাধান।
সাশা গ্রিভাস

এই হ্যান্ডি কোডের একটি ড্রুপাল 8 সংস্করণ আছে?
পিটারগাস

11

এটি করার বিভিন্ন উপায় আছে তবে সমস্ত ওয়েবসাইট আপনার ওয়েবসাইটের কার্যকারিতা প্রভাবিত করার ক্ষেত্রে সমান নয়। উদাহরণ স্বরূপ:

  1. যদি আপনি অ্যাডমিন থিমটি অনুলিপি করেন বা অ্যাডমিন থিমের ভিত্তিতে একটি সাব-থিম তৈরি করেন (দ্রষ্টব্য, এটি ড্রুপাল কমার্সের সাথে কাজ করবে না, কারণ এতে ইতিমধ্যে শাইনির উপর ভিত্তি করে একটি সাব-থিম রয়েছে) - এবং তারপরে একটি .info এর মাধ্যমে সিএসএস ফাইল যুক্ত করুন কল করুন , আপনি প্রতিটি পৃষ্ঠায় সিএসএস লোড করবেন।
  2. আপনি যদি অ্যাডমিন থিমটি অনুলিপি করেন বা অ্যাডমিন থিমের ভিত্তিতে উপ- থিম তৈরি করেন তবে আপনি আপনার টেম্পলেট.এফপি ফাইলটিতে হুক drupal_add_css () ব্যবহার করতে পারেন । এটি আপনাকে স্টাইলশিটটি শর্তযুক্তভাবে, নির্দিষ্ট পৃষ্ঠাগুলিতে কেবল উদাহরণস্বরূপ বা নির্দিষ্ট ব্রাউজারগুলিতে কল করার অনুমতি দেবে। এটি ঠিকঠাক কাজ করে তবে আপনি ইতিমধ্যে প্রয়োজনের চেয়ে আরও বেশি ফাইল কল করছেন।
  3. আপনার নিজস্ব মডিউল তৈরি করুন এবং এটি থেকে drupal_add_css () কল করুন । যতদূর আমি জানি, এটি অ্যাডমিন থিমটি মূল স্পর্শ না করে পরিবর্তন করার 'হালকা' উপায় এবং যদি আপনার অ্যাডমিন থিমটি ইতিমধ্যে একটি সাব-থিম হয় (তবে প্রাক্তন। ড্রুপাল কমার্স কিকস্টার্ট অ্যাডমিন থিমটি চকচকে একটি সাবটি থিম)। আমি এই পদ্ধতিটি ব্যবহার করি কারণ এটি সমস্ত পরিস্থিতিতে কাজ করবে। একটি উদাহরণ জন্য নিচে দেখুন:

'মাইমডিউল' নামে একটি ডিরেক্টরি তৈরি করুন (আপনি যে নামটি চান তা ব্যবহার করুন) এর মধ্যে এই ফাইলগুলি তৈরি করুন এবং তারপরে এটি আপনার সাইট / সমস্ত / মডিউল / কাস্টম ডিরেক্টরিতে রেখে দিন। আমি নীচের কোডটিতে মন্তব্যগুলি যুক্ত করেছি যাতে আপনি দেখতে পাচ্ছেন কী ঘটছে।

  • mymodule.info
  • mymodule.module
  • সিএসএস / mymodule.css

mymodule.info এ রয়েছে:

name = mymodule
description = Custom alterations for admin pages on my website
core = 7.x

mymodule.module রয়েছে:

function mymodule_preprocess_html(&$variables) {
  // Add conditional stylesheets for admin pages on admin theme.
  if (arg(0) === "admin") {
    // Reference your current admin theme.
    $theme_path = drupal_get_path('theme', 'commerce_kickstart_admin');
    // Reference your own stylesheet.
    drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
  }
}

CSS / mymodule.css এর পরে আপনার স্টাইলগুলি অ্যাডমিন থিমটিতে যুক্ত হবে। আপনার ক্যাশেগুলি সাফ করুন, এই মডিউলটি সক্ষম করুন এবং আপনি দৌড়ে চলে গেলেন! এখানে drupal_add_css সম্পর্কে আরও জানুন


2
$theme_pathআপনি যদি বর্তমান মডিউলটির পথটি ব্যবহার করেন তবে ভেরিয়েবলের প্রয়োজন নেই ... এবং CSS_THEMEওজন নয় বরং একটি গ্রুপ:array('group' => CSS_THEME)
MrUpsidown

এই হ্যান্ডি কোডের একটি ড্রুপাল 8 সংস্করণ আছে?
পিটারগাস

9

আমি যা করি তা হ'ল অ্যাডমিন থিমের জন্য আমি কেবলমাত্র .info, একটি অনন্য সিএসএস ফাইল (সাধারণত নামকরণ করা overrides.css) এবং প্রয়োজনে একটি template.phpফাইল ব্যবহার করছি তার জন্য একটি উপ-থিম তৈরি করা ।


2

সিএসএস ইনজেক্টর সম্পর্কে কী ?

আমি জানি না এটি কোনও থিম-নির্ভর কনফিগারেশন নিয়মের অনুমতি দেয় কিনা তবে আমি ধরে নিই যে এটি কোনও পথের উপর ভিত্তি করে অনুমতি দেয় (তাই অ্যাডমিন / , নোড / অ্যাড / , নোড / * / সম্পাদনাটি কৌশলটি করা উচিত)।


ভাল ধারণা. এটি চেষ্টা করে দেখেছেন, তবে এটি কাজ করে না বলে মনে হচ্ছে (সিএসএসের নিয়মটি আসলে সংরক্ষণ করা হয়নি!)। আমার সন্দেহ আছে যে এটি ওভারলে সিস্টেমের সাথে কাজ করবে (ফাইল_মনেজড_সেভ_ডাটাতে সমস্যাটি মনে হচ্ছে) কিছুই রক্ষা করা যাচ্ছে না But তবে আমার সেটআপটি কিণ্ডা বিস্মৃত - একটি ওএসএক্স ভিবক্সের ভিতরে একটি উবুন্টু বাক্স)।
ক্লোদিও

হুঁ। বর্তমান সংস্করণে বাগ বা এর মতো কিছু হতে পারে। আমি মনে করি এটি ওভারলে এর ভিতরে তত্ত্বে কাজ করা উচিত। এটি ভিন্ন থিমের সাথে ওভারলেটি প্রদর্শন করতেও সক্ষম .. আপনি অনুমিত একটি সাধারণ কাস্টম মডিউলটিতেও এটি করতে পারেন, আপনার সিএসএস একটি ফাইলের মধ্যে সংরক্ষণ করুন, হুক_ইনিট () প্রয়োগ করুন এবং কিছু শর্ত প্রয়োগ হলে ড্রুপাল_এডিডি_সিএসএস () ব্যবহার করুন।
বার্ডির
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.