Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
MiHAeL

Последние темы форума

Recommended Posts

Наверное надо сделать, чтобы инклюды во враппере работали.

ssi.php подключить правильно или что-то такое.

Share this post


Link to post
Share on other sites

Хм, а вот у меня возникла проблемка, всё делаю как описано выше, но вот только в конечном результате по запросу

include("http://domain.com/forums/ssi.php?a=news&show=10");

у меня выдается только одна тема из раздела, а не 10 (хотя их общее количество превышает 10).

Пробовал копаться в настройках - без результата... Подскажите пожалуйста в чем загвоздка?

Share this post


Link to post
Share on other sites

Именно в новостном форуме (который выбран в админ-панели) их больше 10-и? Темы выгребаются оттуда.

 

Либо косяк в выбором форума, либо изменённый ssi.php — оригинальный просто выгребает все одобренные модераторами топики, лежащие в определённом топике. Сортирует по идентификатору тему в порядке убывания, т.к. выгребет самые новые.

 

В вашем случае, кстати, можно писать просто http://domain.com/forums/ssi.php?a=news — 10 тем выгребается by defaults.

Share this post


Link to post
Share on other sites

Да, в настройках выбран новостной форум. Всё время отображается только последняя созданная тема выбранного раздела. Такой косяк только в случае запроса "news", а например если использовать RSS или XML, то параметр "show" работает корректно.

(Версия IPB 2.3.6. SSI - вроде не изменен так как взят из стандартного дистрибутива папочки Tools)

http://domain.com/forums/ssi.php?a=news

- тоже выводит только одну тему

У меня есть подозрение на какие-то настройки самого IPB, только вот не могу понять какие ибо ковырял их уже прилично =)

Edited by VoleTT

Share this post


Link to post
Share on other sites

А как с помощью этого ssi.php сделать сколько человек просмотрели и сколько комментариев оставили... и что бы показывались не названия тем, а первые сообщения из новой темы определённой категории как тут?!

 

dd6bc63ae0b2t.jpg

 

И для версии IPB 3.x

Edited by Nicolя

Share this post


Link to post
Share on other sites

помогите советом, после долгих мучений нашел как вывести в вордпресс последние темы с форума 3,3,х

 

вот код кому надо :

 

 <?php
//======[ОСНОВНЫЕ НАСТРОЙКИ]======
//Префикс таблицы с IPB
$prefix = '';
//Сколько тем выводить
$num = 10;
//Сколько символов оставить в названии темы после урезания
$topic_num_sym = 65;
//Имя папки с картинками текущего скина
$img_path = '1';
//Формат времени
$time = 'H:i';
//Форумы, которые мы не трогаем
$forumexclude = '0';
//Сервер БД на котором висит база форума
$host="localhost";
//Имя БД
$database="ччччччччччч";
//Логин БД
$username="ччччччччччч";
//Пароль БД
$password="ччччччч";

//====[Если не знаем PHP - дальше ничего не трогаем ]=========

$ipb_db = mysql_pconnect($host, $username, $password);
mysql_select_db($database, $ipb_db);
$rd = "SET CHARACTER SET utf8";
IF (!$result = mysql_query($rd)) {
ECHO "ERROR!!!\n";
}
$resultf = mysql_query("SELECT tid, title, state, posts, starter_id, last_poster_id, last_post, starter_name, last_poster_name, views, topic_hasattach FROM ".$prefix."topics WHERE (forum_id NOT IN ($forumexclude)) ORDER BY last_post DESC LIMIT $num",$ipb_db) or die(mysql_error());
$row_resultf = mysql_fetch_assoc($resultf);
$totalRows_resultf = mysql_num_rows($resultf);
do {
$topicstrip = $row_resultf['title'];
if (strlen($topicstrip) > $topic_num_sym) {
$topicstrip = substr($topicstrip,0,$topic_num_sym);
$topicstrip = $topicstrip."...";
}
$status = ($row_resultf['state'] == "closed") ? "<img src=\"http://ччччччччччч/style_images/$img_path/f_closed.gif\" border=\"0\" alt=\"Тема закрыта\">" : "";
$attach = ($row_resultf['topic_hasattach'] == "1") ? "<img src=\"temp/A-Vector/images/files.gif\" border=\"0\" alt=\"В сообщении есть прикрепленные файлы\"> " : "";

$last_date = date($time,$row_resultf['last_post']);
$bt.= "<small class=\"3\">$last_date:</small> <b><a title=\"".$row_resultf['description']."\" href=\"http://ччччччччччччч/index.php?showtopic=".$row_resultf['tid']."&view=getlastpost\">$topicstrip</a></b><br>";
} while($row_resultf = mysql_fetch_assoc($resultf));
mysql_free_result($resultf);
echo $bt;
return $bt;
?>

 

у меня 2 базы, одна на форум другая на сайт, и вот создаете файл latest_post.php в него код который выше, а в том месте где хотите вставить вывод последних тем вставляете

 

<?
include("/home/r/имялогин/название сайта/public_html/latest_posts.php");
?>

 

имя должно быть абсолютным !!!

 

Так теперь передем к помощи, значит скрипт у меня выводит сообщения в виде

 

время: сообщение

 

хочется сделать вид

 

ник последнего ответившего в теме --> сообщение

 

Помогите плиз!

Edited by redfox1986
  • Upvote 1

Share this post


Link to post
Share on other sites

Вообще-то не совсем правильно было писать в разделе 2x вопросы про 3x. Двиги сильно различаются, поэтому спрашивать нужно в соответствующем разделе версии, даже если в другом разделе есть тема со схожим названием.

 

По сабжу

 

<?php
//======[ОСНОВНЫЕ НАСТРОЙКИ]======
//Префикс таблицы с IPB
$prefix = '';
//Сколько тем выводить
$num = 10;
//Сколько символов оставить в названии темы после урезания
$topic_num_sym = 65;
//Имя папки с картинками текущего скина
$img_path = '1';
//Формат времени
$time = 'H:i';
//Форумы, которые мы не трогаем
$forumexclude = '0';
//Сервер БД на котором висит база форума
$host="localhost";
//Имя БД
$database="ччччччччччч";
//Логин БД
$username="ччччччччччч";
//Пароль БД
$password="ччччччч";

//====[Если не знаем PHP - дальше ничего не трогаем ]=========

$ipb_db = mysql_pconnect($host, $username, $password);
mysql_select_db($database, $ipb_db);
$rd = "SET CHARACTER SET utf8";
if( ! $result = mysql_query($rd) ) {
ECHO "ERROR!!!\n";
}

$resultf = mysql_query("SELECT tid, title, state, posts, starter_id, last_poster_id, last_post, starter_name, last_poster_name, views, topic_hasattach FROM {$prefix}topics WHERE forum_id NOT IN ($forumexclude) ORDER BY last_post DESC LIMIT {$num}", $ipb_db) or die(mysql_error());
$totalRows = mysql_num_rows($resultf);
$bt = '';
while($row = mysql_fetch_assoc($resultf))
{
$title = $row['title'];
if( $title > $topic_num_sym )
{
	$title = substr( $title, 0, $topic_num_sym ) .'...';
}
$status = ($row['state'] == "closed") ? "<img src=\"http://ччччччччччч/style_images/$img_path/f_closed.gif\" border=\"0\" alt=\"Тема закрыта\">" : "";
$attach = ($row['topic_hasattach'] == "1") ? "<img src=\"temp/A-Vector/images/files.gif\" border=\"0\" alt=\"В сообщении есть прикрепленные файлы\"> " : "";
$last_date   = date($time, $row['last_post']);
$last_poster = $row['last_poster_name'];

$bt .= "<small class=\"3\">{$last_poster}:</small> <b><a title=\"".$row['description']."\" href=\"http://ччччччччччччч/index.php?showtopic=".$row['tid']."&view=getlastpost\">{$title}</a></b><br>";
}

mysql_free_result($resultf);
echo $bt;
?>

 

Код немного подправил, а то совсем страшно было на него смотреть.

  • Upvote 1

Share this post


Link to post
Share on other sites

Извеняюсь что написал не там, но чтоб непладить новых тем решил написать тут , спасибо большое за код , все работает !

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...