Hook_enable () এর অভ্যন্তরে এটি করার সর্বোত্তম উপায় ; হুকটি আহ্বান করার সময়, মডিউলটি ইতিমধ্যে ইনস্টল করা হয়েছে এবং এর ডাটাবেসের স্কিমা ড্রুপাল, এবং তে উপলব্ধ drupal_write_record()
। হুক যেমন হ'ল মডিউল সক্ষম হওয়ার সময়ে ডাকা হয় এবং মডিউলটি ইনস্টল করা হয় তা নয়, হুক বাস্তবায়নটি পরীক্ষা করে দেখা উচিত যে এটি ইতিমধ্যে সেই ডাটাবেস সারিগুলি যুক্ত করেছে না (উদাহরণস্বরূপ, এটি একটি বুলিয়ান মানযুক্ত একটি দ্রুপাল ভেরিয়েবল ব্যবহার করা উচিত) ।
hook_enable()
অনুরূপ উদ্দেশ্যে ব্যবহৃত মডিউলটির উদাহরণ হিসাবে , আপনি ফোরাম_নেবল () , বা php_enable () যা "পিএইচপি কোড" ইনপুট ফর্ম্যাট যুক্ত করে) পরীক্ষা করতে পারেন can
function php_enable() {
$format_exists = (bool) db_query_range('SELECT 1 FROM {filter_format} WHERE name = :name', 0, 1, array(':name' => 'PHP code'))->fetchField();
// Add a PHP code text format, if it does not exist. Do this only for the
// first install (or if the format has been manually deleted) as there is no
// reliable method to identify the format in an uninstall hook or in
// subsequent clean installs.
if (!$format_exists) {
$php_format = array(
'format' => 'php_code',
'name' => 'PHP code',
// 'Plain text' format is installed with a weight of 10 by default. Use a
// higher weight here to ensure that this format will not be the default
// format for anyone.
'weight' => 11,
'filters' => array(
// Enable the PHP evaluator filter.
'php_code' => array(
'weight' => 0,
'status' => 1,
),
),
);
$php_format = (object) $php_format;
filter_format_save($php_format);
drupal_set_message(t('A <a href="@php-code">PHP code</a> text format has been created.', array('@php-code' => url('admin/config/content/formats/' . $php_format->format))));
}
}
এই হুক বাস্তবায়ন থেকে প্রদর্শিত হিসাবে, কোড অগত্যা হুক কার্যকর করা হয় সব সময় কার্যকর করা প্রয়োজন হতে পারে; কোডটি কেবল একবার কার্যকর করা দরকার হতে পারে, যেমন ডাটাবেসে যুক্ত ডিফল্ট মানগুলি ব্যবহারকারীর কাছ থেকে পরিবর্তন করা যায় না, যার মানগুলি পরিবর্তন / মুছতে কোনও ব্যবহারকারী ইন্টারফেস নেই।