Вывод последних 10 тем форума

Автор metarad, 22 сентября 2008, 19:58:50

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

metarad

Юзал поиск. Не нашел ответа.
Как мне вывести последние 10 тем форума на сайт? Какой код вставить надо?

Чтобы было понятней вопрос... Я н хочу устанавликать дополнительных модов и т.д..
Вот к примеру последние темы форума punbb выводятся на сайт следующим образом:


<?php //
$f_encode=fopen("http://site.ru/forum/extern.php?action=active"r);
$r_encode=fread($f_encode3000);
fclose($f_encode);
$encode=iconv("UTF-8""UTF-8""$r_encode");
echo 
"<ul>".$encode."</ul>";
?>



А есть что-то подобное для SMF ?

Спасибо


metarad

Я прочитал, но у меня ничего не получилось (не программист)

Но насколько я могу судить - это мне не подходит, так как там идет вывод на главную страницу форума. Мне же нужно вывести последние (5 или 10) топиков форума на главную страницу сайта.

Вот смотрите. У меня есть сайт сайт и есть форум

Так вот с форума я хочу вывести топики на главную страницу сайта. Для этого мне в шаблон сайта надо вставить какой-то код. В этом коде как-то должен быть указан путь к форуму, откуда брать топики. Так как вывести топики?

Спасибо.

metarad

Я прочитал 3 FAQ (базовый, углубленный, экспертный)
Я создал php-файл в котором прописал вызов SSI.php


require("/.../.../firmaspbru/www/forum/SSI.php");


Вставил как по учебнику вызов меню... Все работает, можно глянуть...
http://___firmaspb.ru/forum.php

Но вот как вывести только заголовки последних топиков? Т.е. не сообщения, не топики из какого-то раздела, а просто заголовки последних 10 (к примеру) топиков. Извините, но я не понял  :-[

Drakonsa

<?php ssi_recentTopics(); ?> -- Выведет 8 последних топиков.

metarad

Цитата: Drakonsa от 23 сентября 2008, 14:36:11
<?php ssi_recentTopics(); ?> -- Выведет 8 последних топиков.

Да, но вот что получилось
http://___firmaspb.ru/forum.php

А мне бы хотелось вывести только заголовки топика... Без даты, без названия разделов. Просто ссылка на заголовок топика и все... Как сделать такое?

Drakonsa

Открой ssi.php (лежит в папке с твоим форумом) и найди там  function ssi_recentTopics ()
В этой функции поменяй это:
foreach ($posts as $post)
echo '
<tr>
<td align="right" valign="top" nowrap="nowrap">
[', $post['board']['link'], ']
</td>
<td valign="top">
<a href="', $post['href'], '">', $post['subject'], '</a>
', $txt[525], ' ', $post['poster']['link'], '
', $post['new'] ? '' : '<a href="' . $scripturl . '?topic=' . $post['topic'] . '.msg' . $post['new_from'] . ';topicseen#new"><img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/new.gif" alt="' . $txt[302] . '" border="0" /></a>', '
</td>
<td align="right" nowrap="nowrap">
', $post['time'], '
</td>
</tr>';


На вот это:
foreach ($posts as $post)
echo '
<tr>
<td valign="top">
<a href="', $post['href'], '">', $post['subject'], '</a>
</td>
</tr>';


metarad

Цитата: Drakonsa от 23 сентября 2008, 15:49:40
Открой ssi.php (лежит в папке с твоим форумом) и найди там  function ssi_recentTopics ()

Отлично. Большое спасибо! Работает!

metarad

Еще один небольшой вопрос по той же теме... Все конечно работает замечательно, но вот ссылки на топики различаются на самом форуме и в вызове тем...

Т.е. я создал скрипт (с вашей помощью) который экспортирует последние темы форума... И ссылки там выглядят так:

http://___firmaspb.ru/forum/index.php?topic=4.msg18;topicseen#new

А на самом форуме ссылка на тот же топик выглядит так:

http://___firmaspb.ru/forum/index.php?topic=4.0

Хотелось бы чтобы ссылки выглядели одинаково. Это существенно с точки зрения SEO, потому как создаются дублированные страницы для поисковика. А поисковик должен видеть 1 ссылку.

Как сменить формат ссылки? Чтобы было как на форуме...
Спасибо.

Stern

Цитата: metarad от 23 сентября 2008, 16:30:20
Т.е. я создал скрипт (с вашей помощью) который экспортирует последние темы форума... И ссылки там выглядят так:

http://______firmaspb.ru/forum/index.php?topic=4.msg18;topicseen#new

А на самом форуме ссылка на тот же топик выглядит так:

http://______firmaspb.ru/forum/index.php?topic=4.0

Хотелось бы чтобы ссылки выглядели одинаково. Это существенно с точки зрения SEO, потому как создаются дублированные страницы для поисковика. А поисковик должен видеть 1 ссылку.

Как сменить формат ссылки? Чтобы было как на форуме...
Спасибо.
Судя по всему - скрипт выводит последнее появившееся сообщение в теме - отсюда вся разница. В случае "одинаковости" ссылок выводиться будет всегда первый пост из темы, даже если там много постов...

Про SEO Вы, скорее всего, правы - вас сочтут "продавателем морд" )
МышЫ плакали, кололись, но продолжали жрать кактус...

metarad

Цитата: Stern от 25 сентября 2008, 04:53:37
Судя по всему - скрипт выводит последнее появившееся сообщение в теме - отсюда вся разница. В случае "одинаковости" ссылок выводиться будет всегда первый пост из темы, даже если там много постов...

Да нет же.
Вот ссылка ___firmaspb.ru/forum/index.php?topic=4.0 - она ведет на название топика в форуме.
Мне и надо чтобы мои ссылки, которые экспортируются на сайт вели также на тему форума (а не на последнее сообщение в нем) и эти ссылки должны быть такими же (по структуре), а сейчас к ним прибавляется такая штука: msg18;topicseen#new :(

Stern

Цитата: metarad от 26 сентября 2008, 15:25:29
Да нет же.
Вот ссылка ______firmaspb.ru/forum/index.php?topic=4.0 - она ведет на название топика в форуме.
Мне и надо чтобы мои ссылки, которые экспортируются на сайт вели также на тему форума (а не на последнее сообщение в нем) и эти ссылки должны быть такими же (по структуре), а сейчас к ним прибавляется такая штука: msg18;topicseen#new :(
Она и будет прибавляться - если только Mavn не подскажет, как избавиться (но критичности в этом никакой)
МышЫ плакали, кололись, но продолжали жрать кактус...

Mavn

Вполне логичный вывод тем!
SMF подразумевает вывод последних тем где происходило обсуждение того или иного вопроса а следовательно для того чтобы сразу пользователя перекинуть на нужное сообщение в интересующей теме и делается такого рода урл.
Для того чтобы поправить урл последней темы открывайте SSI.php и ищите следущие строки


'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . ';topicseen#new',
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.msg' . $row['ID_MSG'] . '#new">' . $row['subject'] . '</a>',


что убрать думаю сами догадаетесь тут не сложно :)
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

metarad

Цитата: Mavn от 27 сентября 2008, 19:56:04
что убрать думаю сами догадаетесь тут не сложно :)

Спасибо, друг!  :)  Сделал так:

'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0',
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . $row['ID_MSG'] . '#new">' . $row['subject'] . '</a>',


и все заработало так как я хотел ;)