ใน Drupal 7 ช่อง "Global: สรุปผลลัพธ์" ในส่วนหัวของ Views จะให้โทเค็นสองสามอย่างแก่คุณเพื่อเข้าถึงข้อมูลมุมมองบางส่วน (เช่น มีโทเค็นชื่อ @name -- ชื่อมุมมองที่มนุษย์สามารถอ่านได้
เพื่อพิมพ์ชื่อ View)
สำหรับการดึงชื่อที่แสดงของ View คุณต้องสร้างตัวจัดการ Views แบบกำหนดเองเพื่อกำหนดโทเค็นของคุณเอง:
- สร้างโมดูลใหม่ ในของคุณ
my_module_name.info
ไฟล์ เพิ่มบรรทัด:
การพึ่งพา [] = มุมมอง
ไฟล์ [] = ตัวจัดการ/views_handler_my_custom_handler.inc
- ในของคุณ
my_module.module
ไฟล์ เพิ่ม hook_views_data():
ฟังก์ชัน my_module_views_data() {
// คำจำกัดความของตัวจัดการแบบกำหนดเองของคุณ
$data['views']['my_module_custom_handler'] = อาร์เรย์(
'title' => t('ตัวจัดการแบบกำหนดเองของฉัน'),
'help' => t('โทเค็นแบบกำหนดเองเพื่อเข้าถึงข้อมูลการดู'),
'พื้นที่' => อาร์เรย์(
'handler' => 'views_handler_my_custom_handler',
),
);
ส่งคืน $data;
}
- ในที่สุดสร้าง
ตัวจัดการ/views_handler_my_custom_handler.inc
ไฟล์. เนื้อหาพื้นฐานที่สุดตามความต้องการของคุณจะเป็นเช่น:
/**
* @ไฟล์
* คำจำกัดความของ views_handler_area
*/
/**
* ดูตัวจัดการพื้นที่เพื่อแสดงสรุปผลลัพธ์ที่กำหนดค่าได้
*
* @ingroup views_area_handlers
*/
class views_handler_my_custom_handler ขยาย view_handler_area {
ฟังก์ชั่น option_definition () {
$options = parent::option_definition();
$options['content'] = อาร์เรย์(
'default' => 'กำลังแสดงโทเค็นการดู',
'แปลได้' => จริง,
);
กลับตัวเลือก $;
}
ฟังก์ชัน options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
$ตัวแปร = อาร์เรย์(
'รายการ' => อาร์เรย์ (
'@display_name -- ชื่อของ View display'
),
);
$list = theme('item_list', $variables);
$form['content'] = อาร์เรย์(
'#title' => t('แสดง'),
'#type' => 'textarea',
'#rows' => 3,
'#default_value' => $this->options['content'],
'#description' => t('คุณสามารถใช้รหัส HTML ในฟิลด์นี้ได้ รองรับโทเค็นต่อไปนี้:') รายการ $
);
}
/**
* ค้นหาข้อมูลที่จะแสดงผล
*/
ฟังก์ชันแสดงผล ($empty = FALSE) {
$format = $this->options['เนื้อหา'];
// แทนที่ "@display_name" ด้วยดูค่าที่แสดงปัจจุบัน
$output = filter_xss_admin(str_replace("@display_name", $this->view->current_display, $format));
ส่งคืน $output;
}
แค่นั้นแหละ. ขณะนี้ตัวจัดการมุมมองที่กำหนดเองของคุณควรจะพร้อมใช้งานในมุมมองใดก็ได้
ฉันแนะนำให้คุณดูที่ไฟล์ view_handler_area_result.inc (รหัสสำหรับฟิลด์ "ทั่วโลก: สรุปผลลัพธ์") ในโมดูล Views หากคุณต้องการขยายให้มีโทเค็นในตัวจัดการที่กำหนดเองของคุณ