Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Насколько я понял Active Topics - это только для вывода на форуме.
А как с помощью extern.php сделать вывод названий тем, кол-во ответов, просмотров, поледний ответ и тп на внешнем сайте?
Редактировался Advan (2007-12-09 19:00:48)
Можно ли сделать ввывод первого сообщения темы на главную страницу сайта?
Active Topics хорошая вещь, сделал себе как в примере, чтоб раскрывались по клику. Класс!
Поделитесь пожалуйста как сделали так
Скачал Active Topics, заинклудил в его в index.php:
include('mod_active_topics_1.2.php');
после посмотрел исходный код этой странички, и, сверяясь с ним, изменил файл mod_active_topics_1.2.php.
Измененный кусок кода в этом файле (добавлен java-скрипт раскрытия/закрытия, изменены таблички немного) у меня теперь выглядит так:
$ak_limit = 7; // change this to the number of active topics you want to display.
$result = $db->query('
SELECT t.*
FROM '.$db->prefix.'topics AS t
INNER JOIN '.$db->prefix.'forums AS f
ON f.id=t.forum_id
LEFT JOIN '.$db->prefix.'forum_perms AS fp
ON (
fp.forum_id=f.id
AND fp.group_id='.$pun_user['g_id'].'
)
WHERE (
fp.read_forum IS NULL
OR fp.read_forum=1
)
ORDER BY t.last_post DESC
LIMIT '.$ak_limit
) or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());
require PUN_ROOT.'lang/'.$pun_user['language'].'/forum.php';
?>
<script type="text/javascript">
<!--
var cookieDomain = '.arsamania.ru';
var cookieExpire = new Date("December 31, 2100");
var cookiePath = '/tasks/';
function akToggleActiveTopics() {
if (document.getElementById('active_topics').style.display == 'none') {
document.getElementById('active_topics').style.display = 'block';
document.getElementById('active_topics_toggle').innerHTML = 'Скрыть';
akSetCookie(
'pun_active_mod'
, 'show'
, new Date("December 31, 2100")
, '/forum/'
, '.arsamania.ru'
);
}
else {
document.getElementById('active_topics').style.display = 'none';
document.getElementById('active_topics_toggle').innerHTML = 'Показать 7 последних активных тем форума';
akSetCookie(
'pun_active_mod'
, 'hide'
, new Date("December 31, 2100")
, '/forum/'
, '.arsamania.ru'
);
}
}
function akSetCookie(name, value, expires, path, domain) {
document.cookie= name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "");
}
// -->
</script>
<div id="vf" class="blocktable">
<h2>
<span>Активные темы</span>
<span style=" font-size: 12px; font-weight: bold;">(<a href="javascript:void(akToggleActiveTopics());" style="color: #333;" id="active_topics_toggle">Показать 7 последних активных тем форума</a>)</span>
</h2>
<div class="box" id="active_topics" style="display: none;">
<div class="inbox">
<table cellspacing="0">
<thead>
<tr>
<th class="tcl" scope="col"><?php echo $lang_common['Topic'] ?></th>
<th class="tc2" scope="col"><?php echo $lang_common['Replies'] ?></th>
<th class="tc3" scope="col"><?php echo $lang_forum['Views'] ?></th>
<th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
</tr>
</thead>
<tbody>
где arsamania.ru замените на свой домен, а /forum/ - это путь от корня домена до форума, у вас может быть другим.
$ak_limit = 7; задает количество выводимых последних тем, меняйте по желанию.
Приведенный выше кусок кода - кусок от начала файла (после комментариев) до слов:
<?php
// If there are topics in this forum.
Весь остальной код ниже остается неизменным.
Вроде бы все.
Добавлено спустя пару минут:
Кстати, название темы хорошо бы подправить:
Последние сооб[size=14]ш[/size]ения с форума
Редактировался nobody (2007-12-13 19:30:51)
Спасибо! буду дома попробую
А как на счет этого?
Насколько я понял Active Topics - это только для вывода на форуме.
А как с помощью extern.php сделать вывод названий тем, кол-во ответов, просмотров, поледний ответ и тп на внешнем сайте?
не получилось хотя сам актив топик работает нормально, в случае со скриптом даёт такое:
$ak_limit = 7; // change this to the number of active topics you want to display. $result = $db->query(' SELECT t.* FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON ( fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].' ) WHERE ( fp.read_forum IS NULL OR fp.read_forum=1 ) ORDER BY t.last_post DESC LIMIT '.$ak_limit ) or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error()); require PUN_ROOT.'lang/'.$pun_user['language'].'/forum.php'; ?>
Активные темы (Показать 7 последних активных тем форума)
Приаттачил свой mod_active_topics_1.2.php. Измени в нем arsamania.ru и /forum/ на свои данные, как я выше писал, убедись кстати, что ты правильно их указываешь. Мне кажется, где-то у тебя ошибочка в синтаксисе получилась...
спасибо, заработало!
Advan
Я думаю, что вам никто не хочет помогать, т.к. вы удалили на своём форуме вот этот текст:
Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Чем вам помешал разработчик форума?
скажите а как можно удалить строку...??
Модифицирован PunBB.ru
[ Generated in 0.089 seconds, 13 queries executed ]
на моем форуме....как и где??
Редактировался SerebroSuper (2008-05-01 15:15:39)
SerebroSuper, это секретная строка, и удалить ее просто так не удастся. Сделать можно только за отдельную плату.
Сколько?
На этой странице - http://punbb.ru/donate.php отправь 1-10wmz (сколько не жалко) , я вышлю тебе инструкцию как это убрать
Подскажите, пожалуйста как сделать на главной странице форума
С правой стороны, где написано Последнее сообщение
В место Сегодня чтобы выводились темы.
оставил Вася Пупкин
Редактировался SAnet (2008-08-14 15:35:15)
Пытаюсь вставить строку include('http://host.com/forums/extern.php?action=active'); на главную страницу сайта http://tinga-linga.ru - ничего не выводится
При этом эти работают нормально:
http://forum.tinga-linga.ru/extern.php?action=new
http://forum.tinga-linga.ru/extern.php?action=active
http://forum.tinga-linga.ru/extern.php?action=online
http://forum.tinga-linga.ru/extern.php?action=stats
http://forum.tinga-linga.ru/extern.php? … nline_full
Но в первых двух кодировка нормальная при отключенном внешнем Интернете, а при включенном - абракадабра..
Что сделать, чтобы на главную вывести, и в нормальной кодировке?
по кодировке - надо обновить extern.php
по главной странице - очевидно хостинг настроен таким образом, чтобы веб-мастер не мог инклудить что его душе угодно, в данном случае файлы по протоколу http.
Extern обновила, кодировка все равно корявая
А вот такая штука инклудится и отображается (это не с форума): include( "lblock.php" ); Это не протокол http?
Частая проблема, надо в фак ее. Уже я где-то писал, что можно через curl попробовать...
А где это можно посмотреть? Сейчас у меня абракадабра что при включенном внешнем Интернете, что при выключенном..
Кракозябры можно убрать вставив строку:
header('Content-Type: text/html; charset='.$lang_common['lang_encoding']);
перед
// Check if we are to display a maintenance message
Спасибо!
Решил заняться оптимизацией кода и приведением его к стандартам w3c ...
C форума выводятся сообщения следующей формой:
<h1>Форум</h1><ul><?php include("http://www.сайт.ru/forum/extern.php?action=active&show=5"); ?></ul>
В итоге в коде страницы в каждой строке появляются только открывающие тэги <li>, а закрывающих нет
Как можно это поправить?
Редактировался Advan (2008-10-28 21:21:53)
Никто не в курсе??
Я когда-то пробовал подогнать все под w3c, в понимании валидатора для firefox все было правильно, значит этот недочет исправляется. Файлы *.php править соответствующие необходимо.