เบ็ดมุมมองที่คุณต้องการใช้คือhook_views_pre_build
สิ่งที่เรียกว่าก่อนที่จะสร้างแบบสอบถาม ตอนนี้สมมติว่าคุณมีประสบการณ์การพัฒนาโมดูลขั้นพื้นฐานและคุณคุ้นเคยกับมุมมอง API
คุณควรจะทำ:
/*
* Implementation of hook_views_pre_build().
*/
function hook_views_pre_build(&$view) {
// Make sure this is only for the specific view you want to modified
if ($view->name == "foo_bar") {
// Get the x-y value from where you're storing it (in your example the node object).
$pager_count = get_count_for_this_node();
// Lets also make sure that this is a number so we won't destroy our view.
if (is_numeric($pager_count)) {
// Now lets set the pager item to what ever out count is.
$view->pager['items_per_page'] = $pager_count;
}
}
}
ด้านบนเรากำลังใช้เบ็ดการดูที่เรียกว่าก่อนที่จะสร้างคิวรีการดูวิธีที่เพจเจอร์และทุกอย่างอื่นจะแสดงถึงการเปลี่ยนแปลง
คำเตือน: ควรใช้ตะขอการดูเมื่อคุณเข้าใจว่าเกิดอะไรขึ้น โค้ดด้านบนเขียนขึ้นสำหรับ views-2.x
หวังว่านี่จะช่วยได้