» » Вывод последних сообщений из phpBB3 в DLE 9

Вывод последних сообщений из phpBB3 в DLE 9

26.09
89
114 351
Вывод последних сообщений из phpBB3 в DLE 9


Буквально вчера попался на глаза модуль единой регистрации и автроизации, а проще говоря мост между DLE 9 и phpBB 3.0.7. Очень мне этот мост приглянулся, ведь я давно хотел поставить именно phpBB форум в связке с DLE. И всё вроде бы хорошо, но в модуле не предусмотрен вывод последних сообщений с форума на страницах DLE.
Было решено погуглить, итогом чего стал найденный и немного подогнанный под DLE скрипт. Было удалено примерно половина ненужного, на мой взгляд, кода и немного дополнен вывод содержимого.

Возможности:
- Вывод в любом удобном месте таблицы с последними темами с форума phpBB3.
- Выводятся:
-- Название темы ссылкой.
-- Автор темы.
-- Количество ответов.
-- Дата последнего ответа.
-- Последний ответивший.

- Кеширование блока.
- Настройка количества выводимых тем.
- Настройка обрезания длины темы.
- Задание игнорируемых категорий.
- Возможность вывода тем только из определённых категорий.
- Возможность выводить, либо не выводить количество ответов в теме.

- Настройка оформления блока производится в CSS.

Я специально не стал как бы то ни было оформлять вывод блока, т.к. это сугубо индивидуальная штука, ведь на каждом сайте свой дизайн и т.д. и т.п.

По немногочисленным просьбам сделал визуальное оформление блока с чередующейся подсветкой строк таблицы, всё настраивается в css при наличии желания.

Установка очень простая, но предполагает, что форум установлен на один домен с DLE в папку /forum:

1. Скопировать файлы из папки upload на сервер.
ВНИМАНИЕ: копируйте файты тем и шаблонов в СВОИ папки с темой и шаблоном.

2. В main.tpl :

[add]- Перед
</head>
вставляем:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

эту строку вставлять только если не подключена библиотека jQuery и версия DLE ниже 9.0.

<script type="text/javascript" src="{THEME}/js/tooltip.js" ></script>
<script type="text/javascript">$(document).ready(function(){simple_tooltip(".ttp_lnk a","tooltip"); $(".phpbb-block tr:even").addClass("even"); $(".phpbb-block tr").hover(function() {$(this).addClass("hover");}, function(){$(this).removeClass("hover");});});</script>



- В любом удобном месте прописать:
{include file="phpbb.tpl"}


[add]3. В CSS файле (например style.css) прописать:

.tooltip {
    z-index:999;
    left:-9999px;
    top: -9999px;
    background: #fafafa;
    border: 1px solid #0099cc;
    font-size:11px;
    color: #323232;
    padding:4px 8px;
    position:absolute;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    max-width: 400px;
    }
    .tooltip p { margin: 0px; padding: 0px;}

table.phpbb-block {
    width: 680px;
    margin-bottom: 20px;
    }
table.phpbb-block a {
    text-decoration: none;
    }
    table.phpbb-block a:hover {
        color: #323232;
        border-bottom: dotted 1px #000;
        }
table.phpbb-block tr.php-hdr {
    font-weight: bold;
    color: #0099cc;
    background: #e5f0f9 url(../images/bg_row_phpbb.png) no-repeat -680px -5px !important;
    }
table.phpbb-block tr {
    background: #fff url(../images/bg_row_phpbb.png) no-repeat left bottom;
    height: 20px;
    line-height: 20px;
    }
    table.phpbb-block tr.even {
            background-position: -680px bottom;
        }
        table.phpbb-block tr.hover {
            background-position: left -5px;
            }
            table.phpbb-block tr.even.hover {
                background-position: -680px -5px;
                }
                table.phpbb-block td {
                    padding: 0 4px;
                    }
                    table.phpbb-block td.first-row {
                        padding-left: 25px;
                        }
                        table.phpbb-block td.first-row a {
                            display: block;
                            }
                            table.phpbb-block td.first-row a:hover {
                                border: none;
                                }
                    table.phpbb-block td.last-row {
                        padding-right: 15px;
                        }
.blueline {
    background: #e5f0f9 url(../images/bg_row_phpbb.png) no-repeat -680px bottom;
    width: 680px;
    height: 1px;
    font-size: 0;
    }



4. Радоваться жизни :) и поставить счетчик посещений для сайта.

Пункты, помеченные знаком [add] добавлены 01.10.2010

Обновление от 02.10.2010: убран вывод содержимого последнего поста из-за сложности отображения. можетбыть позже с этим вопросом разберусь.




P.S.
Если Вы собираетесь править файл recent_body.html не забывайте чистить кеш форума после внесения изменений в файл.

По прежнему жду Ваших предложений и замечаний.

Похожие материалы

Комментарии

ASTIN
ASTIN 19 июля 2011 18:47
Скажите пожалуйста, а можно его оформить блоком типа как "Последние комментарии"?
ПафНутиЙ
ПафНутиЙ 19 июля 2011 21:26
да хоть в виде новостей :) вопрос техники.
ASTIN
ASTIN 19 июля 2011 22:23
А не могли бы помочь с этим вопросом? Я, честно говоря, не особо в этом шарю...
ПафНутиЙ
ПафНутиЙ 29 июля 2011 07:10
Поставьте форум Logicboard - это будет лучшим выхолом.
ASTIN
ASTIN 29 июля 2011 14:52
Да ну, этот уже давно стоит. К нему и привязана и регистрация общая, и авторизация... Да и написано в форуме много уже... Так что не вариант.
Valentine
Valentine 20 августа 2011 23:26
есть конвертор...
psics
psics 9 января 2012 14:35
Пробую на локальном компьютере установить - выводит лишь http://s018.radikal.ru/i511/1201/c8/b93b76e35862.jpg вот так. То есть не выводит сообщения, хотя все делал по инструкции.
ASTIN
ASTIN 9 января 2012 14:37
Если по инструкции то все должно работать. У меня всё ОК.
psics
psics 9 января 2012 14:58
Просто получается, что у меня нету подключения форума 3.0.10 к дле 9,3
psics
psics 9 января 2012 15:02
все разобрался
Короче не открывал папку для форума там оказывается тоже нужно для своего шаблона файл закинуть...
Спс рабочая версия.
ASTIN
ASTIN 9 января 2012 15:11
Ну вот и молодец. Удачи.
taraslviv
taraslviv 1 июня 2012 09:30
Народ подскажите как правильно сделать, чтобы выводилось из форума на подомени заранее весьма благодарный ато я что-то ломаю голаву и никак невиходить. feel
psics
psics 24 февраля 2013 21:39
Все работает успешно установил на сайте http://c-elysee.in.ua, хотя на локальном не получилось...
psics
psics 24 февраля 2013 21:56
А кто подскажет как убрать колонку дата? Это нужно править файл recent_body.html? или recent.php
ПафНутиЙ
ПафНутиЙ 24 февраля 2013 22:09
вроде бы resent_body.html
иван
иван 28 ноября 2014 00:44
10.3 DLE не поддерживает этот модуль?
ПафНутиЙ
ПафНутиЙ 28 ноября 2014 00:48
не знаю, давно уже не пользуюсь форумными движками.
иван
иван 15 декабря 2014 15:04
не работает)а он только один в инете recourse
Дмитрий51
Дмитрий51 17 декабря 2016 18:02
Здравствуйте. Установил модуль, выдает крякозыбры
���� ����� ������� ���� ���������
DLE 11.2
PHPBB - 3.1.10
PHP - 5.4
Как на Хроме, так и в опере, и ИЕ. Видно что делает таблицу, но ничего не "подхватывает.

Сайт и форум UTF-8, в файл phpbb.tpl внес правку по папке форума.

Окажите пожалуйста помощь.
для связи скайп - hunterskomp
ПафНутиЙ
ПафНутиЙ 17 декабря 2016 19:38
Перекодируйте файлы из архива phpbb-block-for-dle-by-pafnuty_2.rar в UTF-8
Дмитрий51
Дмитрий51 17 декабря 2016 20:05
ПафНутиЙ,
Спасибо, теперь по русски.
Но темы не выводит.
Указал принудительно форум "2", убирал номер, все равно нет вывода

Какое-то время кеширования или в чем проблема, не подскажете?


ПафНутиЙ
ПафНутиЙ 18 декабря 2016 08:38
Вполне вероятно, что код не актуален для новых версий DLE и форума.
Дмитрий51
Дмитрий51 18 декабря 2016 10:15
Цитата: ПафНутиЙ
полне вероятно, что код не актуален для новых версий DLE и форума.

доработка под актуальные версии не входит в Ваши планы?
ПафНутиЙ
ПафНутиЙ 18 декабря 2016 10:32
Нет, я уже очень давно не использую форумы, поэтому это очень маловероятно.
Дмитрий51
Дмитрий51 18 декабря 2016 10:40
ПафНутиЙ,
очень печально, но все равно спасибо за оказанную помощь.
fR0dA
fR0dA 12 января 2017 19:40
Вывод с нужного форума по ссылке так: /app.php/recent.php?forum=12
А как быть если нужно сделать вывод новостей с двух разделов?

И еще вопрос, где добавить target=_blank чтобы при переходе открывалось с новом окне?

Спасибо.
ПафНутиЙ
ПафНутиЙ 12 января 2017 19:58
В обоих случаях вам нужно поправить файл recent.php
Атрибут ссылки вставьте там, где прописана ссылка, для вывода из нескольких форумов поправьте значение переменной $cfg_only_forums
fR0dA
fR0dA 12 января 2017 20:26
ПафНутиЙ,
Цитата: ПафНутиЙ
target=_blank

В recent.php пробывал добавлять, по почему то не добавляется бланк, кэш форума чистил. Может не в том место, уточните если не сложно.

А по поводу переменной $cfg_only_forums, какой разделитель там и синтаксис, изначально идёт так, $cfg_only_forums = '';

Да и дело в том что вывод всех новостей я уже использую и все красиво, но тут возникла необходимость использовать еще один такой же блок, создание рядом файла с именем отличным от recent.php не делает вывод говорит No route found for "GET /recent1.php"
ПафНутиЙ
ПафНутиЙ 12 января 2017 20:28
Думаю вам лучше обратиться к фрилансерам

Добавить комментарий

Комментировать могут только зарегистрированные пользователи

Информация

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