Hooks ব্যবহার করে Custom ফাংশনালিটি যোগ করা

Custom মডিউল ডেভেলপমেন্ট - ড্রুপাল (Drupal) - Web Development

298

ড্রুপাল (Drupal) একটি শক্তিশালী এবং নমনীয় কনটেন্ট ম্যানেজমেন্ট সিস্টেম (CMS), যা Hooks ব্যবহার করে ডেভেলপারদের সাইটে কাস্টম ফাংশনালিটি যোগ করার সুযোগ দেয়। হুকস হল ড্রুপালের এক ধরনের ইভেন্ট বা ফাংশন, যা ড্রুপালের নির্দিষ্ট ক্রিয়াকলাপ (যেমন, কনটেন্ট তৈরি, পেজ লোড, লগইন) এর সময় কাজ করে এবং ডেভেলপারদের সাইটে বিভিন্ন কাস্টম কার্যকারিতা যোগ করতে দেয়।

ড্রুপালে হুকস ব্যবহার করে কাস্টম ফাংশনালিটি যোগ করার জন্য আপনি ড্রুপাল মডিউল তৈরি করতে পারেন এবং এই মডিউল থেকে বিভিন্ন হুক ব্যবহার করে সাইটের কার্যকলাপে পরিবর্তন আনতে পারেন।

এখানে ড্রুপালে হুকস ব্যবহার করে কাস্টম ফাংশনালিটি যোগ করার প্রক্রিয়া ব্যাখ্যা করা হয়েছে।


হুকস কী?

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

ড্রুপালের বিভিন্ন ধরনের হুক রয়েছে, যেমন:

  • hook_menu()
  • hook_theme()
  • hook_block_info()
  • hook_form()
  • hook_node_insert()
  • hook_user_login()

এগুলোর মাধ্যমে ডেভেলপাররা সাইটের বিভিন্ন কার্যকলাপ পরিবর্তন এবং কাস্টমাইজ করতে পারেন।


কাস্টম মডিউল তৈরি করে হুকস ব্যবহার করা

১. কাস্টম মডিউল তৈরি করা

প্রথমে একটি কাস্টম মডিউল তৈরি করুন। এই মডিউলটি আপনার হুকস কাস্টমাইজেশন যুক্ত করার স্থান হবে।

  1. modules/custom ডিরেক্টরিতে একটি নতুন ফোল্ডার তৈরি করুন, যেমন my_custom_module
  2. এর মধ্যে একটি my_custom_module.module ফাইল তৈরি করুন, যেখানে আপনি আপনার কাস্টম ফাংশনালিটি এবং হুক যুক্ত করবেন।

২. hook_menu() ব্যবহার করে কাস্টম পেজ তৈরি করা

ড্রুপাল সাইটে নতুন পেজ যুক্ত করতে hook_menu() ব্যবহার করা হয়। এটি ড্রুপালে একটি নতুন URL তৈরি করতে সাহায্য করে।

উদাহরণ:

/**
 * Implements hook_menu().
 */
function my_custom_module_menu() {
  $items = array();

  // Custom page URL
  $items['custom/my-page'] = array(
    'title' => 'My Custom Page',
    'page callback' => 'my_custom_module_custom_page',
    'page arguments' => array(),
    'access callback' => 'user_access',
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
  );

  return $items;
}

/**
 * Custom page callback function.
 */
function my_custom_module_custom_page() {
  return '<h1>Welcome to My Custom Page</h1>';
}

এই কোডে, my_custom_module_menu() হুকটি একটি নতুন পেজ URL (custom/my-page) তৈরি করে এবং সেটির জন্য একটি কাস্টম পেজ রেন্ডার করে।

৩. hook_theme() ব্যবহার করে কাস্টম টেম্পলেট যুক্ত করা

ড্রুপালে কাস্টম থিমিং করতে hook_theme() ব্যবহার করা হয়, যার মাধ্যমে আপনি কাস্টম টেম্পলেট ফাইল যুক্ত করতে পারেন।

উদাহরণ:

/**
 * Implements hook_theme().
 */
function my_custom_module_theme() {
  return array(
    'my_custom_template' => array(
      'render element' => 'elements',
      'template' => 'my-custom-template',
      'path' => drupal_get_path('module', 'my_custom_module') . '/templates',
    ),
  );
}

/**
 * Use the custom template.
 */
function my_custom_module_page() {
  $output = theme('my_custom_template', array('elements' => 'This is a custom page template'));
  return $output;
}

এই কোডে, hook_theme() হুকটি একটি কাস্টম টেম্পলেট ফাইল (my-custom-template.tpl.php) তৈরি করার জন্য ব্যবহৃত হয়েছে। ড্রুপাল যখন my_custom_module_page() কল করবে, তখন এটি কাস্টম টেম্পলেট রেন্ডার করবে।

৪. hook_form() এবং hook_form_alter() ব্যবহার করে কাস্টম ফর্ম তৈরি করা

ড্রুপালে কাস্টম ফর্ম তৈরি করতে hook_form() ব্যবহার করা হয়, এবং ফর্মের বিদ্যমান ফিচার পরিবর্তন করতে hook_form_alter() ব্যবহার করা হয়।

hook_form() উদাহরণ:

/**
 * Implements hook_form().
 */
function my_custom_module_form($form, &$form_state) {
  $form['my_field'] = array(
    '#type' => 'textfield',
    '#title' => t('My Field'),
    '#required' => TRUE,
  );
  
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Submit'),
  );

  return $form;
}

/**
 * Form submission handler.
 */
function my_custom_module_form_submit($form, &$form_state) {
  drupal_set_message(t('Form submitted with value: @value', array('@value' => $form_state['values']['my_field'])));
}

এখানে hook_form() একটি কাস্টম টেক্সটফিল্ড ফর্ম তৈরি করেছে, এবং hook_form_submit() ফর্ম সাবমিট হলে একটি মেসেজ প্রদর্শন করবে।

hook_form_alter() উদাহরণ:

/**
 * Implements hook_form_alter().
 */
function my_custom_module_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'user_login') {
    // Add a custom class to the login form.
    $form['#attributes']['class'][] = 'my-custom-login';
  }
}

এখানে hook_form_alter() ব্যবহার করে আমরা user_login ফর্মে একটি কাস্টম CSS ক্লাস যোগ করেছি।

৫. hook_node_insert() ব্যবহার করে কাস্টম কার্যকারিতা যোগ করা

ড্রুপাল নোড (Content) তৈরি হলে কাস্টম কার্যকারিতা চালাতে hook_node_insert() ব্যবহার করা যায়।

উদাহরণ:

/**
 * Implements hook_node_insert().
 */
function my_custom_module_node_insert($node) {
  if ($node->type == 'article') {
    // Perform an action when an article node is created.
    drupal_set_message(t('A new article node has been created!'));
  }
}

এই কোডে, hook_node_insert() একটি নতুন আর্টিকেল নোড তৈরি হলে একটি কাস্টম মেসেজ প্রদর্শন করবে।


উপসংহার

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

Content added By
Promotion

Are you sure to start over?

Loading...