Перейти к контенту
  • 0

функция build_pagelinks - как изменить?


nvrsk

Вопрос

я пока только разбираюсь с инвижоном. 4 дня как установил.

повился вопрос: как изменить отображение стандартной разбивки списка перехода на страницы сообщений/тем ?

 

вот, к примеру, у меня еть тема, в которой 2796 постов,

в списке тем под ней написано: (Страниц 1 2 3 ...21)

как изменить список страниц, чтоб было, к примеру так: (Страниц 1 2 3 ... 19 20 21)

или на худой конец чтоб вообще не разбивалось многоточием, а перечисляло все страницы.

 

нашел, что этим заведует функция function build_pagelinks($data), а как с ней бороться что-то слету не могу догнать...

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

nvrsk

Есть там такая строчка

$section = 2;

Если поставить 100, то будут видны все страницы. А чтоб сделать так, как ты просишь, нужно математически помыслить...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Fastserg

Спасибо за помощь.

Теперь такой вопрос.

У меня есть тема, в которой более 60 страниц, а номера старниц выстраиваются в ряд и из-за того что страниц много не помещаются на экране - появляется горизонтальный скроллинг.

Можно ли сделать, чтобы страницы, например после тридцатой, переносились на след. строку?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

palach

Возможно всё.

 

Как делаем:

1. Для начала в файлах sources ищем вызовы функции build_pagelinks()

Вот что я нашёл в Forums.php:

	 $this->forum['SHOW_PAGES']
	 = $std->build_pagelinks( array( 'TOTAL_POSS'  => $total_possible['max'],
        	 'PER_PAGE'    => $ibforums->vars['display_max_topics'],
        	 'CUR_ST_VAL'  => $ibforums->input['st'],
        	 'L_SINGLE'    => $ibforums->lang['single_page_forum'],
        	 'BASE_URL'    => $this->base_url."showforum=".$this->forum['id']."&prune_day=$prune_value&sort_by=$sort_by&sort_key=$sort_key",
           )
          );

или в Topics.php:

	 $this->topic['SHOW_PAGES']
	 = $std->build_pagelinks( array( 'TOTAL_POSS'  => ($this->topic['posts']+1),
        	 'PER_PAGE'    => $ibforums->vars['display_max_posts'],
        	 'CUR_ST_VAL'  => $ibforums->input['st'],
        	 'L_SINGLE'    => "",
        	 'BASE_URL'    => $this->base_url."showtopic=".$this->topic['tid'].$hl,
           )
          );

 

2. Потом ищем в файлах Skin/s* вызовы найденной переменной (в данном случае я ищу по слову SHOW_PAGES). Нашёл строчки - в skin_forum.php:

<td align='left' width="20%" nowrap="nowrap">{$data['SHOW_PAGES']}</td>

или в skin_topic.php:

<td align='left' width="20%" nowrap="nowrap">{$data['TOPIC']['SHOW_PAGES']} {$data['TOPIC']['go_new']}</td>

 

3. Растягивание страниц происходит потому, что перенос строки тут явно запрещён: nowrap="nowrap".

Стираем nowrap="nowrap" из найденного кода и вуаля...

 

Тот же самый алгоритм можно применить к другим местам и модулям.

И вообще, если что-то упорно отказывается переноситься - ищем слово nowrap в файлах форума, скорее всего - причина в нём.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.