অ্যাক্সেস আর্গুমেন্ট এবং অ্যাক্সেস কলব্যাকের মধ্যে পার্থক্য কী?


21

অ্যাক্সেস আর্গুমেন্ট এবং অ্যাক্সেস কলব্যাকের মধ্যে পার্থক্য কী?

ধরুন আমি অ্যাক্সেস কলব্যাক সেট করে রেখেছি 'user_access'এবং array('custom permission')এটি অ্যাক্সেস আর্গুমেন্টের মান।

ওটার মানে কি? তারা একে অপরকে কীভাবে প্রভাবিত করে?

উত্তর:


27

"অ্যাক্সেস কলব্যাক" হ'ল ফাংশন যা যাচাই করার জন্য ডাকা হয় যা ব্যবহারকারীর পৃষ্ঠায় অ্যাক্সেস রয়েছে। বিশেষ কেস হিসাবে এটির মান হতে পারে TRUEএবং সেই ক্ষেত্রে সমস্ত ব্যবহারকারীর এতে অ্যাক্সেস থাকতে পারে; অন্য কথায়, অ্যাক্সেসের অনুমতিটি বাইপাস করা হবে।

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

এগুলি ড্রুপাল কোর মডিউলগুলি থেকে ব্যবহৃত মেনু কলব্যাক ঘোষণার কয়েকটি উদাহরণ। (উদাহরণগুলি দ্রুপাল code কোডের, তবে আমি কীটির জন্য উল্লেখ করতে চাই, তাতে কোনও পার্থক্য নেই))

এটি এমন একটি উদাহরণ যেখানে অ্যাক্সেস কলব্যাকটি ব্যবহারকারী_অ্যাক্সেস ()

  $items['file/progress'] = array(
    'page callback' => 'file_ajax_progress', 
    'delivery callback' => 'ajax_deliver', 
    'access arguments' => array('access content'), 
    'theme callback' => 'ajax_base_page_theme', 
    'type' => MENU_CALLBACK,
  );

এটি অ্যাক্সেস কলব্যাক কোনও ফাংশনের নাম নয় যেখানে এটি একটি উদাহরণ।

  $items['user'] = array(
    'title' => 'User account', 
    'title callback' => 'user_menu_title', 
    'page callback' => 'user_page', 
    'access callback' => TRUE, 
    'file' => 'user.pages.inc', 
    'weight' => -10, 
    'menu_name' => 'user-menu',
  );

এই ক্ষেত্রে অ্যাক্সেস কলব্যাকটি ইউজার_ভিউ_অ্যাক্সেস () যা পাস হয়েছে, নম্বর 1 নয়, তবে মেনু পথ থেকে নেওয়া একটি মান (যা এই ক্ষেত্রে "ব্যবহারকারী /% ব্যবহারকারী"); এটি একটি বিশেষ ক্ষেত্রে, কারণ ফাংশনটি দ্বারা প্রত্যাবর্তিত মান পাবে user_load()

  $items['user/%user'] = array(
    'title' => 'My account', 
    'title callback' => 'user_page_title', 
    'title arguments' => array(1), 
    'page callback' => 'user_view_page', 
    'page arguments' => array(1), 
    'access callback' => 'user_view_access', 
    'access arguments' => array(1),
    // By assigning a different menu name, this item (and all registered child
    // paths) are no longer considered as children of 'user'. When accessing the
    // user account pages, the preferred menu link that is used to build the
    // active trail (breadcrumb) will be found in this menu (unless there is
    // more specific link), so the link to 'user' will not be in the breadcrumb. 
    'menu_name' => 'navigation',
  );

মনে করুন পূর্ববর্তী মেনুটি নীচে হিসাবে সংজ্ঞায়িত করা হয়েছে এবং "ব্যবহারকারী / হ্যালো" এর মতো একটি পথের সাহায্যে প্রার্থনা করেছিলেন।

  $items['user/%'] = array(
    'title' => 'My account', 
    'title callback' => 'user_page_title', 
    'title arguments' => array(1), 
    'page callback' => 'user_view_page', 
    'page arguments' => array(1), 
    'access callback' => 'user_view_access', 
    'access arguments' => array(1),
    // By assigning a different menu name, this item (and all registered child
    // paths) are no longer considered as children of 'user'. When accessing the
    // user account pages, the preferred menu link that is used to build the
    // active trail (breadcrumb) will be found in this menu (unless there is
    // more specific link), so the link to 'user' will not be in the breadcrumb. 
    'menu_name' => 'navigation',
  );

এই ক্ষেত্রে, অ্যাক্সেস কলব্যাকটি আর্গুমেন্ট হিসাবে পাথ থেকে নেওয়া মানটি (0 এর অর্থ "ব্যবহারকারী" এবং 1 এর অর্থ "ব্যবহারকারী" এবং স্ল্যাশের পরে অংশ) পাওয়া যাবে; এই ক্ষেত্রে, মানটি হ্যালো "হ্যালো"।

এই ওয়াইল্ডকার্ড আর্গুমেন্টগুলি আরও ভালভাবে বুঝতে, ওয়াইল্ডকার্ড লোডার যুক্তিগুলি দেখুন । ডকুমেন্টেশন পৃষ্ঠাটি দ্রুপাল 6 ট্যাগ করা আছে, তবে যা জানা গেছে তা এখনও দ্রুপাল 7 এর জন্য বৈধ।


দুর্দান্ত ব্যাখ্যা আমার প্রয়োজন অনুসারে কিছু কাস্টম বোতামটি "ভোট এখন" কেবলমাত্র অনুমোদিত ব্যবহারকারী দ্বারা প্রক্রিয়া করা উচিত তবে বেনামটিও বেনামে দেখানো উচিত এবং যখন বেনামী ব্যবহারকারী ক্লিক করেন যে তাকে লগইন পৃষ্ঠাতে পুনর্নির্দেশ করা উচিত এবং প্রক্রিয়াটি অব্যাহত থাকবে। এই নির্দিষ্ট দৃশ্যের জন্য বেনামে বাটনটি দেখানোর জন্য বিশেষ অ্যাক্সেসের শর্ত আছে ?. এখানে মন্তব্য করা কারণ এটি এই পোস্টটিকে আরও সম্পূর্ণ উইকি করে তুলবে। বুকমার্কড .. :)
কিরণিং করা হচ্ছে

4

অ্যাক্সেস কলব্যাক এমন একটি ফাংশন যা পরীক্ষা করে যদি কিছু ব্যবহারকারীর কিছু অনুমতি থাকে। ডিফল্ট অ্যাক্সেস কলব্যাকটি ব্যবহারকারী_অ্যাক্সেস ()

অ্যাক্সেস আর্গুমেন্টগুলি অ্যাক্সেস কলব্যাকের মাধ্যমে পরীক্ষা করা হয় এমন অনুমতিগুলির তালিকা করে lists যেমন "অ্যাক্সেস সামগ্রী"


আর কিসের জন্য মূল্য হতে পারে access callback? যদি তা বাদ দিয়ে অন্য কিছু হয় user_access(), তবে কি এটির প্রয়োজনটিকে বাধা দেবে access arguments?
ব্যবহারকারী1359

2
তুমি যা চাও. সত্য বা মিথ্যা ফিরিয়ে দেয় এমন কোনও ফাংশন।
বারদির

তাহলে আপনার দরকার হবে না access arguments?
ব্যবহারকারীর 3535

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