Search

Romua1d.ru
Drupal

views_mini_pager скрываем пустую кнопку

Всем привет, захотелось немного изменить функцию в drupal, очень не устраивала пустая кнопка на первом и последнем значении пагинатора.

Вылечил добавив простую логику:

if (empty($li_previous)) {
    $class_prev = 'hide';
}else{
    $class_prev = 'pager-previous';
}
function mobile_tablet_views_mini_pager($vars) { //Переделываем мини pagers
  global $pager_page_array, $pager_total;

  $tags = $vars['tags'];
  $element = $vars['element'];
  $parameters = $vars['parameters'];

  // current is the page we are currently paged to
  $pager_current = $pager_page_array[$element] + 1;
  // max is the maximum page number
  $pager_max = $pager_total[$element];
  // End of marker calculations.

  if ($pager_total[$element] > 1) {

    $li_previous = theme('pager_previous',
      array(
        'text' => (isset($tags[1]) ? $tags[1] : t('‹‹')),
        'element' => $element,
        'interval' => 1,
        'parameters' => $parameters,
      )
    );
    if (empty($li_previous)) {
      $class_prev = 'hide';
    }else{
      $class_prev = 'pager-previous';
    }

    $li_next = theme('pager_next',
      array(
        'text' => (isset($tags[3]) ? $tags[3] : t('››')),
        'element' => $element,
        'interval' => 1,
        'parameters' => $parameters,
      )
    );

   if (empty($li_next)) {
      $class_next = 'hide';
    }else{
      $class_next = 'pager-next';
    }

    $items[] = array(
      'class' => array(<strong>$class_prev</strong>),
      'data' => $li_previous,
    );

    $items[] = array(
      'class' => array('pager-current'),
      'data' => t('@current of @max', array('@current' => $pager_current, '@max' => $pager_max)),
    );

    $items[] = array(
      'class' => array(<strong>$class_next</strong>),
      'data' => $li_next,
    );
    return theme('item_list',
      array(
        'items' => $items,
        'title' => NULL,
        'type' => 'ul',
        'attributes' => array('class' => array('pager')),
      )
    );
  }
}

если есть вопросы по работе функции, сбрасывайте их в комментарии

Плагин рейтинга создан автором этого блога. Буду очень признателен, если вы сможете его поддержать (ссылка)

p.s. Если статья была полезной и вас переполняет чувство благодарности, можете поддержать меня долларом на патреоне

Romuald Shmidtelson

Web Developer. I have expirience in FrontEnd, Backend, Devops. PHP, Python, Javascript (Vue.js, React.js)

Поделиться
Опубликовано
Romuald Shmidtelson

Недавние Посты

Как разработать лендинг с интеграцией SMM-инструментов

Лендинг — это визитная карточка вашего продукта или услуги. Но просто создать красивую страницу недостаточно…

1 год назад

Как получить первый заказ на фрилансе

Получение первого заказа на фрилансе может быть вызовом, особенно для новичков, которые еще не имеют…

3 года назад

Топ 7 css фреймворков 2021 года

Разработка сайтов и веб-приложений стала в наше время неизбежной потребностью. Тем не менее, существует несколько способов…

5 лет назад

Что такое семантическое ядро и как его использовать для продвижения сайта?

Компании и специалисты по маркетингу тратят много времени и денег на изучение языка поисковых систем,…

5 лет назад

Что такое адаптивные изображения? Как правильно использовать srcset.

Адаптивные изображения - это набор методов, используемых для загрузки правильного изображения в зависимости от разрешения…

5 лет назад

Что такое Политика конфиденциальности для сайта и для чего она нужна?

Политика конфиденциальности - это документ, в котором подробно описывается, как компания или организация обрабатывает любую…

5 лет назад