Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Баг генерирования кнопок "Следующая Страница"

Опубликовано:

<if test="$this->caches['ccs_frontpage']['paginate']">
<div class='pagelinks'>
	<if test="$this->request['p'] AND $this->request['p'] > 1">
		<div class='left'>
			<a href='<if test="$data['category']['category_id']">{$data['category']['category_link']}?p=1<else />{$data['database']['base_link']}p=1</if>'>{$this->lang->words['frontpage_previouspage']}</a>
		</div>
	</if>

	<php>
		$_ttlPgs	= $data['database']['_fp_count'] ? ceil( $data['database']['_fp_count'] / $this->caches['ccs_frontpage']['limit'] ) : 0;
		$_curPg		= $this->request['p'] ? $this->request['p'] : 1;
		$_nextPg	= $_curPg + 1;
	</php>
	<if test="$_ttlPgs AND $_curPg < $_ttlPgs">
		<div class='right'>
			<a href='<if test="$data['category']['category_id']">{$data['category']['category_link']}?p={$_nextPg}<else />{$data['database']['base_link']}p={$_nextPg}</if>'>{$this->lang->words['frontpage_nextpage']}</a>
		</div>
	</if>
</div>
</if>

 

Это сам код создания кнопок :"Пред. и След. Страница", на главной всё хорошо отображается,НО в самих категориях кнопки След.Страница нету,проблема в условии: <if test="$_ttlPgs AND $_curPg < $_ttlPgs">,где

$_ttlPgs - это общее кол-во страниц

$_curPg - текущая страница

 

 

Как исправить этот баг?

Заранее Спасибо!

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

Опубликовано:

К сожалению, не знаю, чем помочь.

Рицке написала, может, подскажет, когда появится.

 

У меня без враппера форума в статьях вообще мало что работает :blink: Например, поиск пришлось убрать.

Опубликовано:
  • Автор

Это из-за нехватки классов css...если нужны функции форума без враппера,нужно ВСЕ классы приспособить к новому шаблону

Опубликовано:

Это понятно.

Я давно уже массу классов перетащила, иначе бы был ужас.

Дело не в этом.

Просто ничего не ищется. И шаблон поиска не вызывается. Если подключаю враппер, все работает.

Опубликовано:
  • Автор

Вставьте из Article_Menu поиск..

Опубликовано:

Он у меня там и живет – в Article_Menu. Ниже списка разделов в http://ipbskins.ru/ipcontent/

Сейчас просто класс hide дописала, чтобы не отображался. Все равно не работает.

Опубликовано:
  • Автор
Рицке написала, может, подскажет, когда появится.

А кто это? Ritsuka?

Опубликовано:

Ага. Он тоже IP.Content на своих сайтах использует. Тут например – http://desu.ru

Опубликовано:
  • Автор

Классно CleanCut переделал

Опубликовано:

Да, неплохо :blink:

IP.Content используется так мало пока, что любой опыт интеграции ценен.

Надо бы тему потом создать с показом и обсуждением сайтов на ip.content

 

 

 

Жуть.

Наоффтопили в теме из-за меня

Опубликовано:
  • Автор

Экспериментирую, сам php код работает. Предыдущая страница с таким кодом работает:

<if test="$_curPg > 1">
		<div class='left'>
			<a href='<if test="$data['category']['category_id']">{$data['category']['category_link']}?p=1<else />{$data['database']['base_link']}p=1</if>'>{$this->lang->words['frontpage_previouspage']}</a>
		</div>
	</if>

Что означает,текущая страница > 1,

Но почему-то $_ttlPgs AND $_curPg < $_ttlPgs (если есть страницы и текущая < числа страниц),не работает..странно.

Проблема в $_ttlPgs = $data['database']['_fp_count'] ? ceil( $data['database']['_fp_count'] / $this->caches['ccs_frontpage']['limit'] ) : 0; , ведь ccs_frontpage- это главная...надо как-то ещё содержание категорий подключить.

Если ещё точнее,проблема здесь: $data['database']['_fp_count'] ? ceil( $data['database']['_fp_count']

Опубликовано:

Откройте на правку файл: /admin/applications_addon/ips/ccs/sources/articles.php, найдите строки 1046-1051:

		if( $cache['pinned'] )
	{
		$_finalOrder	= "record_pinned DESC, " . $_finalOrder;
	}

	$records			= array();

и замените на:

		if( $cache['pinned'] )
	{
		$_finalOrder	= "record_pinned DESC, " . $_finalOrder;
	}

	$_count	= $this->DB->buildAndFetch( array( 'select' => "COUNT(*) as total", 'from' => $this->database['database_database'], 'where' => $_where ) );
	$this->database['_fp_count']	= $_count['total'];

	$records			= array();

Все заработает.

 

Очередной индус, занимаясь наращиванием говнокода за счет копипаста из функции _getDatabaseFrontpage() в функцию _getCategoryFrontpage() (сравните их внимательно - они, за мелкими отличиями, делают одно и то же) случайно снес фрагмент кода, отвечающий за вычисление страниц.

  • 2 месяца спустя...
Опубликовано:

Хмм, этих индусов там похоже много, либо я один из них )

В общем, симптомы - изменение количества и метода сортировки отображаемых статей в Articles Configuration и из настроек категории никак не влияет на отображаемые статьи.

Единственный параметр, которвй регулирует это дело удалось найти в Frontpage Manager. Указанное количество статей и метод сортировки там действует для всех категорий.

НО при этом не отображаются никакие ссылки вроде следующая или предыдущая страница, лишние статьи просто отрезает.

И только при использовании стандартного шаблолна Front Page (1x2x2 Layout) появляется кнопка Преддыщее статьи - которая по всей видимости открывает архив статей.

 

Применение указаного выше изменения в /admin/applications_addon/ips/ccs/sources/articles.php, найдите строки 1046-1051 никак не сказалось на работе content-a.

Опубликовано:

Правильно. Листалка страниц генерируется прямо в теле шаблона. Где-то генерятся страницы, где-то просто ссылки "вперед - назад", а где-то вообще ничего. Поизучайте содержимое Article Templates.

Опубликовано:

Правильно. Листалка страниц генерируется прямо в теле шаблона. Где-то генерятся страницы, где-то просто ссылки "вперед - назад", а где-то вообще ничего. Поизучайте содержимое Article Templates.

Ничерта не понял. Чего ту правильного ?? То что постраничной разделение не работает ? Может стоит перечитать мой пост внимательней... Я указал как минимум на 2 бага

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

И я спрашиваю почему при стардартном шаблоне у меня нет того что должно быть

Вот код,он не выводит ничего на страницу, но последние 3 переменные дают результат 1,2,2.

Так в чем ошибка ?

 

<if test="$this->caches['ccs_frontpage']['paginate']">
<div class='pagelinks'>
	<if test="$this->request['p'] AND $this->request['p'] > 1">
		<div class='left'>
			<a href='<if test="$data['category']['category_id']">{$data['category']['category_link']}?p=1<else />{$data['database']['base_link']}p=1</if>'>{$this->lang->words['frontpage_previouspage']}</a>
		</div>
	</if>

	<php>
		$_ttlPgs	= $data['database']['_fp_count'] ? ceil( $data['database']['_fp_count'] / $this->caches['ccs_frontpage']['limit'] ) : 0;
		$_curPg		= $this->request['p'] ? $this->request['p'] : 1;
		$_nextPg	= $_curPg + 1;
	</php>
	<if test="$_ttlPgs AND $_curPg < $_ttlPgs">
		<div class='right'>
			<a href='<if test="$data['category']['category_id']">{$data['category']['category_link']}?p={$_nextPg}<else />{$data['database']['base_link']}p={$_nextPg}</if>'>{$this->lang->words['frontpage_nextpage']}</a>
		</div>
	</if>
</div>
</if>
{$_curPg}
{$_ttlPgs}
{$_nextPg}

Опубликовано:

аааа, блин

support pagination

понасовывали куда не попало настройки

стоило включить в фронтпейдже и страницы везде появились

впрочем, какого черта настройки фронтпейдже перекрывают настройки категорий остается непонятным

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.