বর্তমান দেখা পৃষ্ঠাটি প্রশাসনিক থাকলে আমি কীভাবে সনাক্ত করতে পারি?


18

ব্যবহারকারী বর্তমানে পৃষ্ঠাটি দেখছেন, প্রশাসনিক হিসাবে বিবেচিত হন কিনা তা আমি কীভাবে সনাক্ত করব? প্রশাসনিক থিমটি সক্রিয় করা হলে প্রশাসনিক পৃষ্ঠাটি স্বীকৃত হতে পারে।

আমার ক্ষেত্রে আমি এই শর্তটি পূরণ করা এবং ব্যবহারকারী যদি 'মডিউলগুলি পরিচালনা করতে পারেন' তবে একটি নোটিশ মুদ্রণ করতে চাই।

উত্তর:


30

এটি দিয়ে করা যেতে পারে path_is_admin(current_path())

উদাহরণস্বরূপ, নিম্নলিখিত হুক বাস্তবায়ন ব্যবহার করা যেতে পারে।

function mymodule_init() {
  if (user_access('administer modules') && path_is_admin(current_path())) {
      drupal_set_message(t('Message'));
  }
}

1
উত্তরটি "প্রশাসনিক" এর অপির সংজ্ঞা কী এবং এর উপর নির্ভর করে এবং প্রশ্নটি প্রথম পোস্ট হওয়ার পরে এই সংজ্ঞাটি পরিবর্তিত হতে পারে। কিছু বিষয়বস্তু সম্পাদনা পৃষ্ঠাগুলিকে "অ্যাডমিন" পৃষ্ঠা হিসাবে বিবেচনা করে, তবুও পথ_আইস_এডমিন () নোড / 123 / সম্পাদনার মতো পৃষ্ঠায় মিথ্যা ফিরিয়ে দেবে। এদিকে, এই পৃষ্ঠাটি অ্যাডমিন থিমটি ব্যবহার করতে পারে বা নাও পারে। যে কোনও পৃষ্ঠা সম্ভবত অ্যাডমিন থিম ব্যবহার করতে পারে এবং কোনও পৃষ্ঠা সম্ভবত অ্যাডমিন থিমটি ব্যবহার না করে। ওপিতে বর্তমান সংজ্ঞাটি "প্রশাসনের থিমটি সক্রিয় হওয়ার সাথে সাথে প্রশাসনিক পৃষ্ঠাটি স্বীকৃত হতে পারে।"
আর্নল্ডবার্ড

9

বর্তমান পথটি "প্রশাসনিক" কিনা তা নির্ধারণের জন্য ড্যানিয়েলের উত্তর সঠিক, তবে আপনি যদি প্রশাসনের থিমটি ব্যবহার করছেন কিনা তা আরও সরাসরি পরীক্ষা করতে চান (আপনার প্রশ্নটি যা আপনি খুঁজছেন তা কিছুটা অস্পষ্ট বলে মনে হচ্ছে), আপনি করতে পারেন ...

global $theme;
if ($theme === variable_get('admin_theme', 'seven')) {
  // …
}

… যদিও এটি ব্যর্থ হওয়ার সম্ভাবনা রয়েছে যদি আপনি এটি বুটস্ট্র্যাপ প্রক্রিয়াতে খুব তাড়াতাড়ি চালানোর চেষ্টা করেন, যথা $themeনাম সংজ্ঞায়িত হওয়ার আগে ।


স্পষ্ট করা ওপি যাতে অ্যাডমিন থিমটি সন্ধানের দিকে নির্দেশিত না হয়। বরং অ্যাডমিন থিম কেবল প্রশাসনিক পথের ইঙ্গিত।
ড্যানিয়েল

আমি এখনও বিভ্রান্ত ছিলাম, যতক্ষণ না আমি দেখলাম যে এটি সেই জিনিসগুলির মধ্যে একটি যেখানে আপনি একটি প্রশ্ন পোস্ট করেছেন এবং তারপরে এটি নিজেই উত্তর দিয়েছেন। Derp, আমি এখন এটি পেতে।
গ্যারেট অ্যালব্রাইট


0

প্রশাসনের থিমটি ব্যবহার করা হচ্ছে কিনা তা পরীক্ষা করতে (দ্রুপাল 8 এর জন্য) আপনি ব্যবহার করতে পারেন

$theme_name = \Drupal::service('theme.manager')->getActiveTheme()->getName();

থিম নাম পেতে।

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