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

Делаем более интеллектуальный Topic API


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

Предлагаю сделать более интеллектуальным стандартный Topic View API:

 

sources/api/api_topic_view.php

<?php

...

class api_topic_view extends api_core
{
/**
* IPS Class Object
*
* @var object
*/
//var $ipsclass;


/**
* Конструктор, принимающий значение для limit (c) Aliance
*
* @var integer
*/
function api_topic_view($limit = 10)
{
	$this->topic_list_config['limit'] = $limit;
}

/**
* Topic list config
*
* @var array
*/
var $topic_list_config = array( 'offset'	  => 0,
								'limit'	   => 10,
								'forums'	  => 1,
								//  делаем сортировку по дате создание топика (c) Aliance
								'order_field' => 'started',
								'order_by'	=> 'DESC' );
// дальше код идет без изменений

}

?>

 

код страницы, куда будут выносится наши топики:

<?php

require_once('../sources/api/api_topic_view.php');
// здесь мы и передаем количество топиков, в данном примере - 10
$api_topic_view = new api_topic_view(10);
$api_topic_view->api_init();

$api_topic_view->topic_list_config['forums'] = array("23, 32, 33, 34, 35, 52");
$topic_list_data = $api_topic_view->return_topic_list_data();

if (empty($topic_list_data)) echo "<h3>В данном разделе новостей нет!</h3>";

for ($i = 0; $i < count($topic_list_data); $i++) {
  print_r( $topic_list_data[$i] );
}

?>

Изменено пользователем Aliance spb
Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Еще одно добавление. С ним прикрепленные темы будут отображаться наверху.

 

найти в sources/api/api_topic_view.php:

'order'	=> $this->topic_list_config['order_field'].' '.$this->topic_list_config['order_by'],

заменить на:

'order'	=> 'pinned DESC, ' . $this->topic_list_config['order_field'] . ' ' . $this->topic_list_config['order_by'],

Изменено пользователем Aliance spb
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Еще одно добавление. С ним не будут отображаться ссылки на перенесенные темы.

 

найти в sources/api/api_topic_view.php:

'where'	=> 't.approved=1 AND t.forum_id IN (0,'.$this->topic_list_config['forums'].')',

заменить на:

'where'	=> 't.approved=1 AND t.forum_id IN (0,'.$this->topic_list_config['forums'].') AND t.state!="link"',

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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