ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
valualit
Отправлено: 4 февраля 2013 — 19:45
Post Id


Пользователь
Newbie


Покинул форум
Сообщений всего: 13
Дата рег-ции: Апр. 2012  
Репутация: 1




Первым делом было внесено небольшое изменение в forum/modules/threadstop/frontindex.php

Привел функцию return_print в следующий вид:
CODE:
function return_print($array,$mode) {
$menu = '';
$array = (is_array($array))?$array:array();
foreach ($array as $key =>$value){
if (!isset($value['name']) || !isset($value['id']) || !isset($value['fid']) || !isset($value['postkey'])) continue;
if(isset($_GET['strlen'])){
$toptopicname = (strlen($value['name'])>(int)$_GET['strlen'])?substr($value['name'],0,(int)$_GET['strlen']).'...':$value['name'];
} else {
$toptopicname = (strlen($value['name'])>32)? substr($value['name'],0,32).'...':$value['name'];
}
$toptopicname = (isset($value['tnun'])) ? $toptopicname.' - '.$value['tnun']:$toptopicname;
$printvalue = (FM_PRINTVAL === TRUE && isset($value[$mode])) ? ' ('.$value[$mode].')':'';
$menu .= '<span class="hint"><a title="'.str_replace("\"","\\\"",$value['name']).'" href="topic.php?forum='.$value['fid'].'&topic='.$value['id'].'&postid='.$value['postkey'].'#'.$value['postkey'].'" poster="'.$value['poster'].'">'.$toptopicname.$printvalue.'</a></span><br>';
}
return $menu;
}

1) Это получаем автора последнего поста
2) Можем ограничить количество символов в названии топика, чтоб красиво влиться в дизайн.

Теперь на сайте делаем вывод:

CODE:
<ul style="list-style: none;">
<?php
$ppf=iconv("windows-1251","utf-8",file_get_contents(VALUALIT_HOST."forum/tools.php?action=threadstop&strlen=28"));
preg_match_all("~<td class=\"row1\" width=\"33\%\">(.*)</td>~isU",$ppf,$match);
unset($ppf);
preg_match_all("~<span class=\"hint\"><a title=\"([^\"]+)\" href=\"([^\"]+)\" poster=\"([^\"]+)\">(.+)</a></span>~isU",$match[1][0],$match);
$i=1;
foreach($match[1] as $key=>$value){ ?>
<li>
<a href="<?=VALUALIT_HOST?>forum/<?=$match[2][$key]?>" style="color:#fff; font-size: 12px;" title="<?=str_replace("\"","\\\"",$match[1][$key])?>"><?=$match[4][$key]?></a> <br/>
<small style="color:#ff0;"><font style="color:#fff;">Автор:</font> <?=$match[3][$key]?></small>
</li>
<?php if($i==4){ break; } $i++; } ?>
</ul>


1) Если парсинг нужен в различные части и требуется ограничение на количество выводимых новостей, я пользуюсь переменной $i
2) VALUALIT_HOST - http путь к корню проекта.

(Отредактировано автором: 4 февраля 2013 — 19:46)

 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Решение проблем »

> Похожие темы: Как я выводил последние посты с форума на сайт
Темы Форум Информация о теме Обновление
Менеджер файлов
Плагин, который позволяет управлять файлами вашего форума.
Плагины Ответов: 16
Автор темы: WebMaster
28 сентября 2015 — 10:48
Автор: WebMaster
Объявление на форуме для гостей (или для пользователей с другими правами) с админкой
На главной форума, но можно вывести в любом другом месте
Модификации и дополнения Ответов: 1
Автор темы: Guyver
8 сентября 2016 — 16:30
Автор: Liliat
Ограничение символов в столбце "Обновление"
.. на морде форума
Настройка форума Ответов: 6
Автор темы: Pauk
18 ноября 2010 — 22:24
Автор: Pauk
[ВЫПОЛНЕНО] Нужен мод notabenoid
Аналог в одном из форумов моего форума
Коммерческая зона Ответов: 6
Автор темы: Guyver
24 января 2016 — 14:17
Автор: Guyver
Группы пользователей
Создание группы пользователей с последующими правами досутпа к форумам
Решение проблем Ответов: 6
Автор темы: dr comix
2 февраля 2010 — 13:30
Автор: lisiycat
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0871]     [ ]