function custom_pagers_node_view in Custom Pagers 7
Implements hook_node_view().
File
- ./
custom_pagers.module, line 80 - Allows administrators to define context-sensitive previous/next pagers for any node type.
Code
function custom_pagers_node_view($node, $view_mode = 'full') {
// We want to make sure we don't try to output when print.module is active.
// It's a bit of special casing but it doesn't do much harm.
if (node_is_page($node) && empty($node->printing)) {
$node->custom_pagers = _custom_pagers_load_all_pagers();
foreach ($node->custom_pagers as $pager) {
if ($pager->position != 'block' && _custom_pagers_visibility($pager, $node)) {
$nav_array = custom_pager_build_nav($pager, $node);
if ($nav_array['current_index'] != -1) {
switch ($pager->position) {
case 'top':
$node->content['custom_pager_top'][$pager->pid] = array(
'#markup' => theme('custom_pager', array(
'nav_array' => $nav_array,
'node' => $node,
'pager' => $pager,
'position' => 'top',
)),
);
break;
case 'bottom':
$node->content['custom_pager_bottom'][$pager->pid] = array(
'#markup' => theme('custom_pager', array(
'nav_array' => $nav_array,
'node' => $node,
'pager' => $pager,
'position' => 'bottom',
)),
);
break;
case 'both':
$node->content['custom_pager_top'][$pager->pid] = array(
'#markup' => theme('custom_pager', array(
'nav_array' => $nav_array,
'node' => $node,
'pager' => $pager,
'position' => 'top',
)),
);
$node->content['custom_pager_bottom'][$pager->pid] = array(
'#markup' => theme('custom_pager', array(
'nav_array' => $nav_array,
'node' => $node,
'pager' => $pager,
'position' => 'bottom',
)),
);
break;
}
}
}
}
if (isset($node->content['custom_pager_top'])) {
$node->content['custom_pager_top']['#weight'] = -100;
}
if (isset($node->content['custom_pager_bottom'])) {
$node->content['custom_pager_bottom']['#weight'] = 100;
}
}
}