hooks เป็นฟังก์ชั่น php ซึ่งเป็นพื้นฐานของการตั้งชื่อ "yourmodulename_hookname" ซึ่งมีวัตถุประสงค์เพื่อช่วยให้นักพัฒนาสามารถสร้างโมดูลได้ง่ายขึ้น
โมดูลเป็นเรื่องจริงเพราะมันเปิดใช้งาน CORE และฟังก์ชันที่กำหนดเองในระบบ Drupal ของคุณ ดังนั้นโมดูลที่ทำจากhooksและเมื่อโมดูลถูกเปิดใช้งานในการติดตั้ง Drupal ของคุณฟังก์ชั่น hooks สามารถเรียกได้จากโมดูลอื่น ๆ ขอบคุณฟังก์ชั่น module.inc module_invoke_all ($ hook)หรือ module_invoke
ดังนั้นเพื่อให้เข้าใจอย่างถูกต้องว่าตะขอคืออะไรคุณควรทำให้มือของคุณสกปรกและลองพัฒนาโมดูล เพื่อจุดประสงค์นี้เริ่มต้นด้วยการดาวน์โหลดและทดลองใช้ตัวอย่างบางส่วนสำหรับนักพัฒนาของDrupalคุณควรทำความคุ้นเคยกับการสร้างโมดูลเช่นกัน
นี่คือตัวอย่างของ Drupal ที่เป็นประโยชน์สำหรับนักพัฒนาที่กล่าวถึงข้างต้น:
hook_block_view ()ตัวอย่างการใช้งานในโมดูล block_example
/**
* @file examples/block_example/block_example.module line 127
*
* Implements hook_block_view().
*
* This hook generates the contents of the blocks themselves.
*/
function block_example_block_view($delta = '') {
//The $delta parameter tells us which block is being requested.
switch ($delta) {
case 'example_configurable_text':
// The subject is displayed at the top of the block. Note that it
// should be passed through t() for translation. The title configured
// for the block using Drupal UI supercedes this one.
$block['subject'] = t('Title of first block (example_configurable_text)');
เบ็ดนี้ให้คุณเข้าถึงการสร้างบล็อกของ Drupal เพื่อแสดงบล็อกที่กำหนดเองบนเว็บไซต์ของคุณ เป็นไปได้เพราะ block.module มีฟังก์ชั่น _block_render_blockซึ่งเปิดใช้งานโมดูลทั้งหมดเพื่อกำหนดมุมมอง hook_block (สังเกตเห็นบรรทัดสุดท้ายของ module_invoke):
/**
* @file modules/block/block.module, line 838
*
* Render the content and subject for a set of blocks.
*
* @param $region_blocks
* An array of block objects such as returned for one region by _block_load_blocks().
*
* @return
* An array of visible blocks as expected by drupal_render().
*/
function _block_render_blocks($region_blocks) {
...
foreach ($region_blocks as $key => $block) {
...
$array = module_invoke($block->module, 'block_view', $block->delta);
hook_menu ()ตัวอย่างการใช้งานในโมดูล render_example
/**
* @file examples/render_example/render_example.module line 22
*
* Implements hook_menu().
*/
function render_example_menu() {
...
$items['examples/render_example/arrays'] = array(
'title' => 'Render array examples',
'page callback' => 'render_example_arrays',
'access callback' => TRUE,
);
เบ็ดนี้เชื่อมโยงกับระบบการจัดเส้นทาง url ของ Drupal และกำหนดรูปแบบ URL ด้วยการเรียกกลับที่เกี่ยวข้องที่ใช้โดยโมดูลของคุณ มันถูกเรียกจาก system.module
เกี่ยวกับ bootstrap โดยทั่วไปคุณเพียงแค่ต้องรู้ว่ามันถูกดำเนินการตามคำขอแต่ละหน้า ฉันแนะนำให้คุณอ่านคำตอบของ stackoverflow นี้มันอธิบายว่า bootstrap และ hooks สัมพันธ์กันอย่างไร แต่แยกกัน
เกี่ยวกับการแสดงผลของหน้าเว็บ, การแสดงผลเว็บไซต์ HTML ของ Drupal จะประสบความสำเร็จส่วนใหญ่กับการแสดงผลอาร์เรย์และชุดรูปแบบ