উত্তর:
"অ্যাক্সেস কলব্যাক" হ'ল ফাংশন যা যাচাই করার জন্য ডাকা হয় যা ব্যবহারকারীর পৃষ্ঠায় অ্যাক্সেস রয়েছে। বিশেষ কেস হিসাবে এটির মান হতে পারে 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 এর জন্য বৈধ।
অ্যাক্সেস কলব্যাক এমন একটি ফাংশন যা পরীক্ষা করে যদি কিছু ব্যবহারকারীর কিছু অনুমতি থাকে। ডিফল্ট অ্যাক্সেস কলব্যাকটি ব্যবহারকারী_অ্যাক্সেস ()
অ্যাক্সেস আর্গুমেন্টগুলি অ্যাক্সেস কলব্যাকের মাধ্যমে পরীক্ষা করা হয় এমন অনুমতিগুলির তালিকা করে lists যেমন "অ্যাক্সেস সামগ্রী"
access callback
? যদি তা বাদ দিয়ে অন্য কিছু হয় user_access()
, তবে কি এটির প্রয়োজনটিকে বাধা দেবে access arguments
?
access arguments
?