আমি কীভাবে ব্যবহারকারীদের নিজস্ব সামগ্রী অপ্রকাশিত ও প্রকাশ করতে দেব?


30

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

উত্তর:


20

একটি ইউআই পদ্ধতির যা আমি কয়েকটি সাইটে ব্যবহার করেছি সেটি হ'ল ওভাররাইড নোড বিকল্প মডিউলটি, আমার অন্যান্য উত্তর সরবরাহ করে এমন অনুরূপ অনুমতি যোগ করে, সাথে সাথে একগুচ্ছ অতিরিক্ত।


এটি সহজ পদ্ধতির বলে মনে হচ্ছে ... এবং এটি বর্তমানে আমার জন্য কাজ করছে। ধন্যবাদ!
চৌলকি

এটি সেরা হিসাবে আপনি প্রশাসক নোড ছাড়া :) প্রকাশ & চটচটে অনুমতি দিতে পারেন
অ্যালেক্স ওয়েবার

এই সমস্যাটি মোকাবেলা করার জন্য দুর্দান্ত মডিউলের মতো দেখাচ্ছে।
zilverdistel

20

আমরা সর্বদা এর জন্য প্রকাশিত সামগ্রী মডিউলটি ব্যবহার করি। এটি নোডগুলিতে বেশ কয়েকটি সূক্ষ্ম দানযুক্ত অনুমতি এবং একটি প্রকাশ / অপ্রকাশিত ট্যাব যুক্ত করে।

এই মডিউল

  • দানাদার প্রকাশ এবং অপ্রকাশিত অনুমতিগুলি সক্ষম করে:
    • গ্লোবাল (কোনও সামগ্রী আন / প্রকাশিত নয়)
    • প্রতি "নোড টাইপ" (কোনও [নোডেটাইপ] সামগ্রী আন / প্রকাশ করুন)
    • প্রতি ব্যবহারকারী (নিজস্ব [নোডেটাইপ] সামগ্রী অন আন / প্রকাশ করুন publish
  • এক-ক্লিক আন / প্রকাশের জন্য নোড পৃষ্ঠায় একটি "প্রকাশ / অপ্রকাশিত" ট্যাব যুক্ত করে।
  • আপনার দর্শনে লিঙ্কগুলি প্রকাশ / অপ্রকাশিত প্রকাশ করে, যা পর্যালোচক, সম্পাদক এবং প্রকাশকদের জন্য কার্যপ্রবাহকে সহজতর করে তোলে।
  • হালকা এবং সর্বদা হতে হবে।

9

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

আপনার ব্যবহার কেস জন্য, আপনার ব্যবহারকারীদের উভয় "স্রষ্টা" অনুমতিগুলি এবং "মোডারেটর" অনুমতি দেয় যাতে তারা মূলত তাদের নিজস্ব বিষয়বস্তু সংশোধন করতে পারে, কিন্তু মডিউল বর্ণনাতে বলেছেন, তারা না আল্লাহর মতো দান হিসাবে ক্ষমতা দেয়া ' নোড 'প্রশাসক।


এটি একটি খুব আকর্ষণীয় বিকল্প, তবে আমার প্রয়োজনের চেয়ে সেখানে আরও অনেক উপায় আছে। ভেবে আমি আনন্দিত যে আমি এটি সম্পর্কে জানতে পেরেছি, এটি কার্যকর হতে পারে এমন কয়েকটি সাইট সম্পর্কে আমি ভাবতে পারি।
চৌলকি

6

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

এটি কোডের আমার সংস্করণ:

function MYMODULE_perm() {
  $perms[] = 'administer status of any content';

  foreach (node_get_types() as $type) {
    if (isset($type->type)) {
      $perms[] = 'administer status of any '. check_plain($type->type) .' content';
      $perms[] = 'administer status of own '. check_plain($type->type) .' content';
    }
  }

  return $perms;
}

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  if ($form['#id'] == 'node-form' && $form_id == "{$form['#node']->type}_node_form" && _MYMODULE_access($form['#node']->type)) {
    if ($form['options']['#access'] == FALSE) {
      $form['options']['#access'] = TRUE;
    }
  }
}

function _MYMODULE_access($type) {
  return user_access('administer status of any content')
      || user_access('administer status of any ' . check_plain($type) . ' content')
      || user_access('administer status of own ' . check_plain($type) . ' content');
}

এটি কয়েকটি অতিরিক্ত অনুমতি যুক্ত করে যা আপনাকে ব্যবহারকারীদের নিজের বা সমস্ত সামগ্রীর ধরণের এবং সমস্ত সামগ্রীর প্রকারের প্রকাশনা / অপ্রকাশের অনুমতি দেয় এবং আপনার পছন্দগুলি সেট করে।


ধন্যবাদ, এটি দেখতে বেশ সুন্দর, বুদ্ধিমান। যদিও তাদের অপ্রকাশিত সামগ্রী দেখতে সক্ষম হবেন সে সম্পর্কে কী? তারা যদি এটি দেখতে না পারে তবে কীভাবে প্রকাশ করবেন?
চৌলকি

এটিকে প্রভাবিত করা উচিত নয়, আইআইআরসি একজন ব্যবহারকারী তাদের অন-প্রকাশিত সামগ্রী দেখতে পাবে যাতে 'প্রশাসক নোড' আছে কিনা।
ডিসিফার

3

আমি কেবল ডেসিফার উত্তরটি আপডেট করতে চাই, ড্রাপাল 7 এর জন্য ফিট করতে আপনি যদি অন্য কোনও মডিউল যুক্ত করতে না চান তবে ডাইনি সিমেটস অফ দ্য বেস্ট অ্যাপ্রোথ:

/**
 * Implements hook_permission().
 */
function MYMODULE_permission() {  
  $perms = array(
    'administer status of any content' => array(
      'title' => t('Administer status for all content type'),
      'description' => t(''),
      'restrict access' => true
    ),
  );

  foreach (node_type_get_types() as $type) {
    if (isset($type->type)) {
      $perm_types = array(
        'administer status of any '. check_plain($type->type) .' content' => array(
          'title' => t('Administer status of any '. check_plain($type->type) .' content'),
          'description' => t(''),
        ),

        'administer status of own '. check_plain($type->type) .' content' => array(
          'title' => t('Administer status of own '. check_plain($type->type) .' content'),
          'description' => t(''),
        ),
      );
      $perms = array_merge($perms,$perm_types);
    }
  }

  return $perms;
}


function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  if (preg_match('/_node_form$/', $form_id) && _MYMODULE_access($form['#node']->type)) {
    if ($form['options']['#access'] == FALSE) {
      $form['options']['#access'] = TRUE;
    }
  }
}

function _MYMODULE_access($type) {
  return user_access('administer status of any content')
      || user_access('administer status of any ' . check_plain($type) . ' content')
      || user_access('administer status of own ' . check_plain($type) . ' content');
}

একটি টাইপো আছে প্লাস কোনো / নিজের অবস্থা চেক করা নেই .. - $ perm_types থেকে $ perms_type পরিবর্তন
Rémy

0

আপনি পতাকা এবং বিধি মডিউলগুলির শক্তি একত্রিত করে এটি অর্জন করতে পারেন ।

  1. একটি নতুন পতাকা প্রকাশ করুন এবং ব্যবহারকারীদের কেবল তাদের নিজস্ব সামগ্রী ফ্ল্যাগ করার অনুমতি দিন।
  2. এর পরে, একটি নতুন নিয়ম যুক্ত করুন যা নোডকে পতাকাঙ্কিত করার সময় ট্রিগার করে এবং পতাকাঙ্কিত নোড প্রকাশ করে। একইভাবে, একটি দ্বিতীয় বিধি তৈরি করুন যা নোডগুলি অপ্রকাশিত করে যা প্রকাশের অধীনে প্রত্যাশিত ।
  3. অবশেষে, ব্যবহারকারীদের তাদের নিজস্ব অপ্রকাশিত নোড দেখতে এবং একটি যোগ করার অনুমতি দিতে প্রকাশ করুন নোড এর পৃষ্ঠাগুলিতে লিঙ্ক।

-1

সামগ্রী অ্যাক্সেস মডিউল আপনি যা চান তা ঢেকে রাখুক।

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


1
একটি অস্পষ্ট উত্তর। যদি ডেসিফারের উত্তরের চেয়ে এটি অগ্রাধিকারযোগ্য হয়, তবে আপনি এই পদ্ধতির সুবিধাগুলি সম্পর্কে বিস্তারিত ব্যাখ্যা করতে পারেন?
ক্রিস কোহেন

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