আমি কীভাবে কাস্টম হুক তৈরি করব এবং ব্যবহার করব?


10

আমি এখানে একটি প্রশ্ন পোস্ট করেছি , যার একটি পরামর্শ ছিল, কিন্তু কোনও উত্তর নেই। ড্রুপাল 8-তে একটি কাস্টম হুক বাস্তবায়নের বিষয়ে কারও কি কোনও পরামর্শ আছে যা অন্য মডিউলগুলিকে পিতামাতা মডিউল দ্বারা নির্মিত সামগ্রীর একটি সারণি আপডেট করার অনুমতি দেবে? সামগ্রীর সারণীটি একটি আনর্ডার্ডযুক্ত তালিকা হবে।


2
অধীনে অধ্যায় কটাক্ষপাত আছে "একটি হুক নির্ধারণ করতে:" এখানে , যে সাহায্য করে?
ক্লাইভ

কেবল আংশিকভাবে এটি কীভাবে শিশু ফাংশনটি ব্যবহার করতে একটি হুক তৈরি করবেন তা ব্যাখ্যা করে তবে পিতামাতা মডিউলটি কীভাবে সামগ্রীটিকে রেন্ডার করে তা কিছুই নয়। অভিভাবকরা কি control আউটপুট ['টেবিল_মোক্ত_কন্টেন্টস]] এ কন্টেন্ট যুক্ত করতে কোনও নিয়ামক ব্যবহার করে এবং তারপরে পিতামাতার হুকটি এই অ্যারেতে ডেটা যুক্ত করে যা শিশু থেকে ফিরে আসে?
কেভিন নওয়াজিক

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

উত্তর:


8

এই বিভাগটি প্যারেন্ট মডিউলে একটি নিয়ামকের মধ্যে থাকে:

$plugin_items = [];
// Call modules that implement the hook, and let them add items.
\Drupal::moduleHandler()->alter('flot_examples_toc', $plugin_items);
if (count($plugin_items > 0)) {
  $output['plugins'] = [
    '#title' => 'Plugins',
    '#theme' => 'item_list',
    '#items' => $plugin_items,
  ];
}

এবং এটি চাইল্ড [মডিউল]। মডিউল ফাইলে থাকে।

use Drupal\Core\Url;

function mymodule_flot_examples_toc_alter(&$item_list) {
  $options = [
    ':one' => Url::fromRoute('flot_spider_examples.example')->toString(),
  ];
  $item_list[] = t('<a href=":one">Spider Chart</a> (with spider plugin)', $options);
}

পিতা-মাতা একটি অ্যারে তৈরি করে এবং রেফারেন্স সহ এটি শিশুদের কাছে দেয়। তারা এতে অ্যারের যোগ করে অ্যারে পরিবর্তন করতে পারে। পিতামাতা তারপরে এটিকে রেন্ডারে যোগ করুন।


5

কেবল সরলতার জন্য আপনি যদি অন্য বিকাশকারীদের ব্যবহারের জন্য ড্রুপাল 8 এ একটি কাস্টম হুক তৈরি করতে এবং ব্যবহার করতে চান

অন্যদের mymodule.api.php ফাইলে আপনার হুকের ব্যবহার সংজ্ঞায়িত করতে প্রথমে সহায়তা করার জন্য এই হুক প্রয়োজনীয় যে কোনও কিছুতেই কাজ করতে পারে।

উদাহরণ:

 // my hook 
 function hook_mymodule_alter_something(array &$data) {
   // here others will make a module that will call this to alter "$data"
 }

তারপরে আপনার মডিউলটিতে যখন প্রয়োজন হয়।

 \Drupal::moduleHandler()->invokeAll('mymodule_alter_something', [&$data]);

তারপরে অন্য বিকাশকারী কল করে এটির ব্যবহার করতে পারবেন

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