ব্যবহারকারী প্রোফাইলে কাস্টম ব্যবহারকারী ক্ষেত্রটি কীভাবে আড়াল করবেন?


20

দ্রুপাল In-এ, কোনও প্রশাসনিক ব্যবহারকারীকে কাস্টম ব্যবহারকারী প্রোফাইল ক্ষেত্র পরিবর্তন করতে বাধা দেওয়ার সর্বোত্তম উপায় কী?

ব্যবহারের কেস: আমি "গ্রাহক আইডি" নামে একটি ব্যবহারকারী ক্ষেত্র তৈরি করেছি যা আমি ব্যবহারকারীকে (আমার প্রকৃত গ্রাহকদের কোনওটি) পরিবর্তন করতে চাই না। ক্ষেত্রটি আমার নিজস্ব রেফারেন্সের জন্য এবং অন্যান্য মডিউলগুলিতে প্রোগ্রাম্যাটিক ব্যবহারের জন্য বিদ্যমান। আমি গ্রাহক আইডি দেখে ব্যবহারকারীকে আপত্তি নেই, তবে তারা এটি সম্পাদনা করতে সক্ষম হবে না।

আমি ব্যবহারকারীর প্রোফাইল পৃষ্ঠার জন্য পৃষ্ঠা টেম্পলেটটি ওভাররাইড করব? যদি তা হয় তবে টেমপ্লেটটি কীভাবে কোনও ক্ষেত্রকে পঠনযোগ্য বা অদৃশ্য করার জন্য পরিবর্তন করা হয়?

আপনার সাহায্যের জন্য আপনাকে অনেক ধন্যবাদ!

ক্রিস

উত্তর:


17

আমি মনে করি ফিল্ডের অনুমতিগুলি যা আপনি খুঁজছেন is এটি সম্পর্কে একটি উদ্ধৃতি এখানে দেওয়া হয়েছে (মডিউলটির প্রকল্প পৃষ্ঠা থেকে):

... সাইট প্রশাসকদের কোনও সত্তায় ক্ষেত্র সম্পাদনা, দেখার এবং ক্ষেত্র তৈরি করার জন্য মাঠ-স্তরের অনুমতি সেট করার অনুমতি দেয়।

বৈশিষ্ট্য :

  • কেবল নোড নয়, কোনও সত্তায় ফিল্ড অনুমতিগুলি সক্ষম করুন।
  • রোল-ভিত্তিক ক্ষেত্রের অনুমতিগুলি ব্যবহারকারীর কাছে কী অ্যাক্সেস পায় তার উপর ভিত্তি করে বিভিন্ন দেখার প্যাটার্নযুক্ত অনুমতি দেয়।
  • লেখক-স্তরের অনুমতিগুলি সত্তার মালিক কে তার উপর ভিত্তি করে ক্ষেত্রগুলি দেখার এবং সম্পাদনার অনুমতি দেয়।
  • প্রতিটি ক্ষেত্রের জন্য অনুমতিগুলি ডিফল্টরূপে সক্ষম হয় না। পরিবর্তে প্রশাসকরা এই বৈশিষ্ট্যগুলির যে ক্ষেত্রগুলি প্রয়োজন সেখানে স্পষ্টভাবে এই অনুমতিগুলি সক্ষম করতে পারবেন।
  • ক্ষেত্রের অনুমতিগুলির ওভারভিউ

ধন্যবাদ, না! আমি ফিল্ড পারমিশন মডিউলটি ইনস্টল করেছি (আলফা সংস্করণ সর্বশেষ, যা আমাকে কিছুটা ঘাবড়ে যায়, তবে যাই হোক না কেন) এবং ব্যবহারকারী যখন তার প্রোফাইল দেখেন তখন এটি ক্ষেত্রটি ব্যবহারকারীর কাছ থেকে আড়াল করে। মডিউলটির সমস্ত সেটিংস পরীক্ষা-নিরীক্ষার পরে, ক্ষেত্রটি দৃশ্যমান করার জন্য কেবল পঠনযোগ্য বলে মনে হচ্ছে না। একটি নিখুঁত প্রয়োজনীয়তা নয়, তবে এটি ভাল লাগবে।
ctlaren

ক্ষেত্রটি দৃশ্যমান হতে সেট করার অর্থ একটি পাঠ্যক্ষেত্রটি সরল পাঠ্য হিসাবে প্রদর্শিত হবে। আপনি যদি পাঠ্যক্ষেত্রটি রাখতে চান এবং এটি কেবল পঠন হিসাবে সেট করেন তবে আমার ধারণা আপনার ফর্মটিতে একটি হুক_ফর্ম_ল্টার ব্যবহার করতে হবে।
pasine

ধন্যবাদ আবার, notme। আমি হুক_ফর্ম_ল্টার রুটটি নিয়ে যাব এবং দেখব যে এটি আমাকে কোথায় নিয়ে যায়। মনে হচ্ছে এটি যাওয়ার সর্বোত্তম উপায়।
ctlaren

মডিউলটি Field Permissionsড্রুপাল 8 এর সাথে দুর্দান্ত কাজ করে তবে আপনি কেবলমাত্র কাস্টম ক্ষেত্রগুলি লুকিয়ে রাখতে পারতেন (আমার ব্যবহারকারীর নামও হাইড করা দরকার)
সাবাস্তিয়ান জিকুয়েল

5

ব্যবহারকারীর প্রোফাইল ফর্ম থেকে ক্ষেত্রটি আড়াল করতে আপনি #accessব্যবহার করে কোনও ক্ষেত্রের সম্পত্তি FALSE এ সেট করতে পারেন hook_form_FORMID_alter

নিচের স্নিপেটটি প্রশাসনিক field_organisationনন-প্রশাসকদের জন্য ব্যবহারকারী প্রোফাইল ফর্ম থেকে ক্ষেত্রটি আড়াল করে :

function YOURCUSTOMMODULE_form_user_profile_form_alter(&$form, &$form_state, $form_id) {
  $current_user = user_uid_optional_load();
  if($current_user->uid != 1) {
    $form['field_organisation']['#access'] = FALSE;
  }
}

এই একই প্রশ্নটি ড্রুপালেন্সওয়ার্সেও দেখুন

আপনি টেমপ্লেটপ্রেসপ্রসেস_সারণকারী ব্যবহারকারী ব্যবহারকারীর প্রোফাইল পৃষ্ঠা থেকে (রূপটি নয়) ক্ষেত্রটিও আড়াল করতে পারেন

নিচের স্নিপেট প্রশাসনিক field_organisation-প্রশাসকদের জন্য ব্যবহারকারী পৃষ্ঠা থেকে ক্ষেত্রটি আড়াল করে :

function YOURCUSTOMMODULE_preprocess_user_profile(&$vars) {
  $current_user = user_uid_optional_load();
  if($current_user->uid != 1) {
    unset($vars['user_profile']['field_organisation']);
  }
}

1

মনে হয় http://drupal.org/project/user_readonly নামে একটি মডিউল আছে "মডিউলটি প্রশাসককে ব্যবহারকারীর অ্যাকাউন্ট / প্রোফাইল ক্ষেত্রগুলির পরিবর্তন রোধ করতে দেয় The প্রশাসক কোন ক্ষেত্রটি অনুমোদিত নয়, বা কোন ক্ষেত্রগুলি হবে তা নির্বাচন করতে পারে মঞ্জুরিপ্রাপ্ত। "

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