views_plugin_pager_mini.inc

Definition of views_plugin_pager_mini.

File

plugins/views_plugin_pager_mini.inc
View source
  1. <?php
  2. /**
  3. * @file
  4. * Definition of views_plugin_pager_mini.
  5. */
  6. /**
  7. * The plugin to handle mini pager.
  8. *
  9. * @ingroup views_pager_plugins
  10. */
  11. class views_plugin_pager_mini extends views_plugin_pager_full {
  12. function summary_title() {
  13. if (!empty($this->options['offset'])) {
  14. return format_plural($this->options['items_per_page'], 'Mini pager, @count item, skip @skip', 'Mini pager, @count items, skip @skip', array('@count' => $this->options['items_per_page'], '@skip' => $this->options['offset']));
  15. }
  16. return format_plural($this->options['items_per_page'], 'Mini pager, @count item', 'Mini pager, @count items', array('@count' => $this->options['items_per_page']));
  17. }
  18. /**
  19. * Overrides views_plugin_pager_full::option_definition().
  20. *
  21. * Overrides the full pager options form by deleting unused settings.
  22. */
  23. function option_definition() {
  24. $options = parent::option_definition();
  25. unset($options['quantity']);
  26. unset($options['tags']['first']);
  27. unset($options['tags']['last']);
  28. $options['tags']['previous']['default'] = '‹‹';
  29. $options['tags']['next']['default'] = '››';
  30. return $options;
  31. }
  32. /**
  33. * Overrides views_plugin_pager_full::options_form().
  34. *
  35. * Overrides the full pager options form by deleting unused settings.
  36. */
  37. function options_form(&$form, &$form_state) {
  38. parent::options_form($form, $form_state);
  39. unset($form['quantity']);
  40. unset($form['tags']['first']);
  41. unset($form['tags']['last']);
  42. }
  43. /**
  44. * Overrides views_plugin_pager_full::render().
  45. *
  46. * Overrides the full pager renderer by changing the theme function
  47. * and leaving out variables that are not used in the mini pager.
  48. */
  49. function render($input) {
  50. $pager_theme = views_theme_functions('views_mini_pager', $this->view, $this->display);
  51. // The 1, 3 index are correct.
  52. // @see theme_pager().
  53. $tags = array(
  54. 1 => $this->options['tags']['previous'],
  55. 3 => $this->options['tags']['next'],
  56. );
  57. return theme($pager_theme, array(
  58. 'tags' => $tags,
  59. 'element' => $this->get_pager_id(),
  60. 'parameters' => $input,
  61. ));
  62. }
  63. }