ฉันกำลังเขียนโมดูลที่กำหนดเองสำหรับ Drupal 7 ฉันต้องสร้างบล็อค 5 แบบด้วยโมดูล Drupal มีhook_block_info
และhook_block_view
hooks ซึ่งสร้างบล็อก ฉันจะเพิ่มหลายบล็อกได้อย่างไรเนื่องจาก hooks เหล่านี้อนุญาตเพียงหนึ่งบล็อกต่อโมดูล
ฉันกำลังเขียนโมดูลที่กำหนดเองสำหรับ Drupal 7 ฉันต้องสร้างบล็อค 5 แบบด้วยโมดูล Drupal มีhook_block_info
และhook_block_view
hooks ซึ่งสร้างบล็อก ฉันจะเพิ่มหลายบล็อกได้อย่างไรเนื่องจาก hooks เหล่านี้อนุญาตเพียงหนึ่งบล็อกต่อโมดูล
คำตอบ:
รหัสต่อไปนี้น่าจะช่วยได้ เห็นได้ชัดว่าคุณจะต้องเพิ่ม 5 บล็อกของคุณตามความเหมาะสม แต่เป็นเพียงการแสดงวิธีการเพิ่มหลายบล็อกในโมดูลเดียว:
function MYMODULE_block_info() {
$blocks = array();
$blocks['myfirstblock'] = array(
'info' => t('My block admin info'),
'status' => 1,
);
$blocks['mysecondblock'] = array(
'info' => t('My second block admin info'),
'status' => 1,
);
return $blocks;
}
function MYMODULE_block_view($delta = '') {
$block = array();
switch ($delta) {
case 'myfirstblock':
$block = array(
'subject' => t('My first block title'),
'content' => t('My first block content'),
);
break;
case 'mysecondblock':
$block = array(
'subject' => t('My second block title'),
'content' => t('My second block content'),
);
break;
}
return $block;
}
เหตุผลที่status => 1
มาจากhook_block_info()
เอกสาร API:
สถานะ: (เป็นทางเลือก) ค่าเริ่มต้นสำหรับสถานะการเปิดใช้งานบล็อก (1 = เปิดใช้งาน, 0 = ปิดใช้งาน) โมดูลส่วนใหญ่ไม่ได้ให้ค่าเริ่มต้นและผู้ใช้สามารถแก้ไขค่าใด ๆ ที่ให้ไว้ในหน้าจอการตั้งค่าบล็อก
ฉันไม่แน่ใจว่าคุณได้รับบล็อกหนึ่งไอเดียต่อโมดูลจากที่ไหน คุณสามารถสร้างบล็อคได้มากเท่าที่คุณต้องการในโมดูล