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

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

26.09
89
114 383
Вывод последних сообщений из 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 не забывайте чистить кеш форума после внесения изменений в файл.

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

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

Комментарии

ПафНутиЙ
ПафНутиЙ 10 ноября 2010 13:11
нет.
papay
papay 20 декабря 2010 00:14
:) По каким то не известным причинам модуль отказался работать
papay
papay 24 декабря 2010 01:50
ммм все сижу и думаю почему он отключился, так вот вопрос, а как проверить библиотека jQuery подключина ли?
ПафНутиЙ
ПафНутиЙ 24 декабря 2010 08:36
если DLE9 - jquery всегда подключена, а вообще надо нажать ПКМ и посмотреть исх код. до тега
</head>
должно быть всё видно.
n1kola
n1kola 24 декабря 2010 10:23
papay,
у меня тоже дня 3 назад отключился модуль recourse Помогите, в чем может быть проблема?!?!
papay
papay 24 декабря 2010 12:15
n1kola
Это че, чей то заговор?
ПафНутиЙ
да дле9, весь код видно, даже можно вручную файл открыть /forum/recent.php, а выводить, он не выводит...
n1kola
n1kola 24 декабря 2010 12:34
у меня дле 8.5
ПафНутиЙ
ПафНутиЙ 24 декабря 2010 12:46
papay, n1kola,
Ну я же не Дэвид Блейн..... без ссылок на сайт вряд ли смогу помочь.
papay
papay 24 декабря 2010 13:07
ПафНутиЙ,
пара постов выше :))) http://www.net-wars.su/
n1kola
n1kola 26 декабря 2010 21:38
Нашел я что привело к ошибке в работе. В названии одной из тем была ковычка ' из-за которой скрипт выдавал ошибку. Когда я убрал эту кавычку, все стало нормально.
ПафНутиЙ
ПафНутиЙ 27 декабря 2010 04:00
Я даже не знаю как это на php устранить, надо просто не создавать тем с кавычками smile
papay
papay 6 января 2011 20:36
Плагин все же как то странно работает, почистил на форуме кеш и сессии, темы синхронизировал и после этого плагин перестал работать. Удалил все, опять все почистиль, поставил заново и не работает. Такой нужный плагин и такие странные глюки, может все таки найдешь на него время, доработать, может там где есть ошибки.
papay
papay 7 января 2011 18:53
Вообщем нашол какую то странную проблему, если из recent_body.html удалить

< td class="first-row ttp_lnk">< a href="{topicrow.U_TOPIC}" title="{topicrow.FULL_TOPIC_TITLE}">{topicrow.TOPIC_TITLE}< /a>< /td>


почистить кеш форума, то вывод появляется, если вставить его обратно и опять почистить кеш, вывод пропадает, ппц не понимаю в чем дело.
з.ы проблемы поставил, а то сайт на недопустимые знаки ругался.
з.ы.ы переустановка форума кстати помогает, но это не вариант :(
ПафНутиЙ
ПафНутиЙ 7 января 2011 23:42
http://pafnuty.name/79-vyvod-poslednix-soo...l#commentid-442 - дело в кавычках в названии темы.
asHOne
asHOne 18 февраля 2011 16:34
Подскажите как сделать чтоб при нажатии на ссылку форума, она открывалась в новом окне а не в этом же?

И еще почему-то всплывающая подсказка не работает, jquery подключено
ПафНутиЙ
ПафНутиЙ 19 февраля 2011 09:04
всплывающая подсказка ведёт себя не всегда правильно, поэтому она отключена.
для открытия ссылки в новосм окне добавьте после <a параметр target="_blank" в файле recent.php
zloy_papuas
zloy_papuas 22 февраля 2011 12:27
это в строке
TOPIC_LAST_POSTER
или
TOPIC_FIRST_POSTER
других тэгов а там нет
а вроде как неправильно, хотелось бы чтобы при клике на название темы открывалась страница в новом окне

а вы могли бы строчку целиком выложить с уже вставленным target="_blank"? feel

и как правильно сделать чтобы выводились сообщения только на главной? а то куда ни кликну, например подробнее прочесть статью а везде вверху висят сообщения форума, что неудобно
ПафНутиЙ
ПафНутиЙ 22 февраля 2011 13:24
Извиняюсь, написал не проверив...
для открытия темы в новом окне надо заменить содержимое файла recent_body.html на
<!-- BEGIN topicrow -->
document.writeln('<tr><td class="first-row ttp_lnk"><a href="{topicrow.U_TOPIC}" target="_blank" title="{topicrow.FULL_TOPIC_TITLE}">{topicrow.TOPIC_TITLE}</a></td><td>{topicrow.TOPIC_FIRST_POSTER}</td><td>{topicrow.TOPIC_REPLIES}</td>&#
60;td>{topicrow.TOPIC_LAST_POST_TIME}</td><td class="last-row">{topicrow.TOPIC_LAST_POSTER}</td></tr>\n');
<!-- END topicrow -->
zloy_papuas
zloy_papuas 22 февраля 2011 14:09
после вставки вашего кода всё исчезло, выводился только заголовок таблицы.. пробовал копировать и вставлять трижды..
может что-то съелось в вашем выложенном коде?

но я понял как и куда вставить таргетбланк, правда я добавил его после title и перед закрывающей скобкой >, вобщем всё заработало, спасибо за помощь/подсказку smile


остался вопрос по выводу сообщений форума только на главной странице сайта.. гугл не помогает (
asHOne
asHOne 22 февраля 2011 14:53
zloy_papuas,
можешь показать код
а то у меня вупор не получается, в том же окне открывается
zloy_papuas
zloy_papuas 22 февраля 2011 15:55
тут немогу выложить, съедаются символы
выложил сюда http://dumpz.org/35322/
ПафНутиЙ
ПафНутиЙ 23 февраля 2011 06:35
<!-- BEGIN topicrow -->
document.writeln('<tr><td class="first-row ttp_lnk"><a href="{topicrow.U_TOPIC}" target="_blank" title="{topicrow.FULL_TOPIC_TITLE}">{topicrow.TOPIC_TITLE}</a></td>
<td>{topicrow.TOPIC_FIRST_POSTER}</td>
<td>{topicrow.TOPIC_REPLIES}</td>
<td>{topicrow.TOPIC_LAST_POST_TIME}</td>
<td class="last-row">{topicrow.TOPIC_LAST_POSTER}</td></tr>\n');
<!-- END topicrow -->

парсер сожрал код немного из-за длинной строки, а вы тоже молодцы, надо сначала вставлять было рядышком и сравинить, что изменилось.
asHOne
asHOne 23 февраля 2011 09:08
я сравнивал winked
HAMMER
HAMMER 24 февраля 2011 16:26
что я могу сказать: Пафнутий мне помог с красивым оформлением, но вот сам скрипт вывода сообщений я делал немного по-другому. Вывод у меня работает отлично, никаких проблем вообще не было.
ПафНутиЙ
ПафНутиЙ 24 февраля 2011 16:28
Цитата: HAMMER
Пафнутий мне помог с красивым оформлением,

Спасибо на добром слове smile
Было бы не плохо посмотреть исходник.
Mazzinger
Mazzinger 15 апреля 2011 17:06
Помогите пожалуйста, вчера все отображалось отлично, вчера заметил что перестали выводится последние сообщения... не понимаю почему, файлы никакие не трогал...
Если кто может помочь, напишите в ICQ 643-651-985 или в ЛС тут!
Заранее благодарю!
ПафНутиЙ
ПафНутиЙ 15 апреля 2011 20:19
посмотрите, может в названии темы есть знаки ' или "
Mazzinger
Mazzinger 15 апреля 2011 20:39
оу, спасибо большое, а как исправить это? что бы эти знаки не мешали выводе последних сообщений.
ПафНутиЙ
ПафНутиЙ 15 апреля 2011 20:41
не помню, мне присылал кто то сообщение, то ли в icq то ли в ПМ. и незнаю куда его дел, если найду - опубликую.
Mazzinger
Mazzinger 15 апреля 2011 20:43
Хорошо, спасибо.

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

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

Информация

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