1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

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

Тема в разделе "Плагины для XenForo [1.x]", создана пользователем SeM13, 14.03.2011.

Загрузка
  1. Don Kaban

    Don Kaban Активный пользователь

    Регистрация:
    14.04.11
    Сообщения:
    3
    Симпатии:
    2
    я бы посоветовал не забывать

    mysql_query ("set character_set_results='utf8'");



    а то мало ли что :)
     
    SeM13 и Svarog нравится это.
  2. Andy Sergeev

    Andy Sergeev Активный пользователь

    Регистрация:
    08.06.11
    Сообщения:
    9
    Симпатии:
    0
    всем привет".
    допустим, есть сайт, а форум это только часть его. и я вот ищу плагин (скрипт), чтобы отображались новые сообщения форума на страницах самого основного сайта. есть такой плагин для xenforo? а то раздел с плагинами проглядел, но именно такого не нашел. спасибо!
     
  3. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Andy Sergeev, видно плохо искали. Объединил.
    Универсального плагина или решения - нет.
     
  4. Alexey

    Alexey Местный

    Регистрация:
    23.03.11
    Сообщения:
    4
    Симпатии:
    12
    Это тот же скрипт, немного подправленные и переделанный для создания RSS.
    К примеру, моя CMS умеет забирать RSS с других сайтов и отображать в нужном для меня виде. Таким образом я реализовал «Последние 10 тем с форума» на своём сайте.

    Код:
    <?
    // отредактируйте путь к форуму.
    $forum_dir = 'forum/';
    $forum_url = 'http://www.example.com/forum/';
    
    // укажите путь до конфигурационного файла.
    include($forum_dir . 'library/config.php');
    
    // Укажите сколько последних сообщений выводить в "блоке".
    $limit = 10;
    
    // введите id категорий из каких следует брать последние сообщения. Или выберете "ALL" что бы бралось со всего форума.
    $forum_ids = 'ALL';
    // введите id категорий закрытых для общего просмотра
    $forum_forbidden_ids = '100, 101, 102';
    
    mysql_connect($config['db']['host'], $config['db']['username'], $config['db']['password']);
    mysql_select_db($config['db']['dbname']);
    mysql_query("SET CHARACTER SET 'utf8'");
    mysql_query("SET NAMES 'utf8'");
    
    $ret = '';
    $where = '';
    if ($forum_ids != 'ALL')
        $where = 'WHERE `node_id` IN (' . $forum_ids . ')';
    else
        $where = 'WHERE `node_id` NOT IN (' . $forum_forbidden_ids . ')';
    
    $sql_forum = "SELECT
                    `title`, `thread_id`, `reply_count`, `username`, `last_post_date`
                FROM
                    `xf_thread`
                " . $where . "
                ORDER BY `last_post_date`
                DESC LIMIT " . $limit;
    
    $query_forum = mysql_query($sql_forum);
    while ($topics = mysql_fetch_assoc($query_forum))
    {
        $replace_arr = array (' ', '/', '\\', ':', ';', '(', ')', '.', ',', '?', '"', '=', '-----', '----', '---', '--');
        $url_title = str_replace($replace_arr, '-', $topics['title']);
        $url_title = trim($url_title, '-');
        $link = $forum_url. "threads/" . $url_title . "." . $topics['thread_id'] . "/";
        $ret .= "    <item>\n";
        $ret .= "        <title>" . $topics['title'] . "</title>\n";
        $ret .= "        <pubDate>" . date("r", $topics['last_post_date']) . "</pubDate>\n";
        $ret .= "        <link>" . $link . "</link>\n";
        $ret .= "        <guid>" . $link . "</guid>\n";
        $ret .= "        <author>" . $topics['username'] . "</author>\n";
        $ret .= "        <dc:creator>" . $topics['username'] . "</dc:creator>\n";
        $ret .= "        <slash:comments>" . $topics['reply_count'] . "</slash:comments>\n";
        $ret .= "    </item>\n";
        $ret .= "\n";
    }
    
    header ('Content-type: application/xml');
    echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
    ?>
    <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
    <channel>
        <title>XenForo - Latest threads</title>
        <link><?=$forum_url?></link>
        <description>XenForo</description>
        <generator>XenForo</generator>
    
    <?=$ret?>
    </channel>
    </rss>
     
    Logan22 и Kelt нравится это.
  5. volanddt

    volanddt Активный пользователь

    Регистрация:
    28.07.11
    Сообщения:
    3
    Симпатии:
    2
    как в joomla это реализовать?
     
    foxtell нравится это.
  6. diunex

    diunex Местный

    Регистрация:
    02.08.11
    Сообщения:
    113
    Симпатии:
    1
    Я извиняюсь, как установить это чудо себе на форум?
     
  7. human

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

    Регистрация:
    23.08.11
    Сообщения:
    2
    Симпатии:
    0
    А как сделать страницу примерно как тут blockmania.org.ua/
     
  8. Yoskaldyr

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

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
  9. human

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

    Регистрация:
    23.08.11
    Сообщения:
    2
    Симпатии:
    0
  10. Kep

    Kep Ксеновод

    Регистрация:
    01.10.10
    Сообщения:
    57
    Симпатии:
    7
    Версия XF:
    1.1.0 Final
    Вставляю и пишет что ошибка (синтаксиса) в строке:
    PHP:
    echo "<a href=\"{$forum_url}index.php?threads/{$url_title}.{$topics['thread_id']}/\">{$topics['title']}</a>";
     
  11. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    В каком-то плагине видел такую строчку:
    PHP:
    echo "<a href=\"$threadUrl\">$threadTitle</a> Просмотров: {$thread['view_count']}, Ответов: {$thread['reply_count']}<br />";
    Не уверен, что заработает без всего плагина, но можно попробовать.
     
  12. vkams

    vkams Местный

    Регистрация:
    08.07.11
    Сообщения:
    132
    Симпатии:
    28
    В phpBB был мод Glance, вот как он выглядел (увеличил картинку вдвое, всё написал по-английски, потому что собирался спрашивать у разработчика, но сначала хочу попытать счастья тут, а то там темпы очень уж неторопливые):
    glance.jpg
    Табличка висела над списком форумов на главной странице. Никаких картинок не надо, всё функционально: максимум информации, минимум места. В настройке указывались подфорумы, которые следовало исключить из выборки (например, корзину). Анонс выводился с учётом прав участника.
    Городить xenporta-portal ради одного анонса не хотелось бы. Народ очень к нему привык. Буду благодарен, если кто-то превратит один из вариантов кода в такой мод.
     
  13. battlemax

    battlemax Активный пользователь

    Регистрация:
    29.12.11
    Сообщения:
    44
    Симпатии:
    9
    Версия XF:
    1.1.4
    Я никак не могу понять как это сделать, много способов уже испробовал и не получается. Подскажите кто-нибудь!!! Ася 437452974 скайп battlemax911 Help!!!!!!!!
     
  14. carliker

    carliker Местный

    Регистрация:
    03.10.11
    Сообщения:
    274
    Симпатии:
    114
    Версия XF:
    1.1.1
    Какая CMS на сайте?
     
  15. battlemax

    battlemax Активный пользователь

    Регистрация:
    29.12.11
    Сообщения:
    44
    Симпатии:
    9
    Версия XF:
    1.1.4
    Скажем так html5 )))))
     
  16. carliker

    carliker Местный

    Регистрация:
    03.10.11
    Сообщения:
    274
    Симпатии:
    114
    Версия XF:
    1.1.1
    У меня сделано по простому
    Создал файл .php с таким содержанием:
    Код:
    <?php
    // отредактируйте путь к форуму.
    $forum_url = 'forum/';
    // длина названия темы.
    $num = 30;
    // укажите путь до конфигурационного файла.
    include($forum_url . 'library/config.php');
    // Укажите сколько последних сообщений выводить в "блоке".
    $limit = 5;
    // введите id категорий из каких следует брать последние сообщения. Или выберете "ALL" что бы бралось со всего форума.
    $forum_ids = 'ALL';
    mysql_connect($config['db']['host'], $config['db']['username'], $config['db']['password']);
    mysql_select_db($config['db']['dbname']);
    $where = '';
    if ($forum_ids != 'ALL')
    {
        $where = 'WHERE `node_id` IN ($forum_ids)';
    }
    $sql_forum = "SELECT `title`, `thread_id` FROM `xf_thread` {$where} ORDER BY `last_post_date` DESC LIMIT {$limit}";
    $query_forum = mysql_query($sql_forum);
        while ($topics = mysql_fetch_assoc($query_forum))
        {
            $url_title = str_replace(' ', '-', $topics['title']);
            $url_title = str_replace('.', '', $url_title);
            $url_title = str_replace('?', '', $url_title);
            $url_title = str_replace('/', '-', $url_title);
            $url_title = str_replace('\\', '-', $url_title);
            $url_title = str_replace('"', '', $url_title);
    $cnum = mb_strlen($topics['title']);
    if($cnum>$num)
    {
    $topics['title'] = mb_substr($topics['title'], 0, $num);
    $topics['title'] = $topics['title'] . '...';
    }
            echo "<a style=\"padding:0px 0px 3px 0px;font-size:12px;\" href=\"{$forum_url}index.php?threads/{$url_title}.{$topics['thread_id']}/\">{$topics['title']}</a></br>";
        }
    ?>
    
    Назвал этот файл: forum_importer.php
    На своем сайте я юзаю Joomla 1.7. Установил на нее модуль Jumi. Включил его и поставил на нужную позицию, в настройках модуля указал путь до этого файла.
    И все работает отлично, выглядит это у меня так:
    sshot-1.png
    Названия тем если слишком длинные, то они ограничиваются троеточием (у меня стоит 30 символов). Ничего нового в моем коде нет, все уже обсуждалось в этой теме.
     
    arabchik и Alex Gludo нравится это.
  17. Solonik

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

    Регистрация:
    06.01.12
    Сообщения:
    9
    Симпатии:
    0
    Версия XF:
    1.0.0
    Помогите плиз сделал выводиться но:
    • ????????? ????????
    • ???? ??????
    • ???????? seo
    • ???? ?????? ???????????
    • ?????? ? ????????? ???????
    Видимо кодировка не проходит я прям в тело вставил а не отдельный php файл создал.
    Как сделать?
     
  18. battlemax

    battlemax Активный пользователь

    Регистрация:
    29.12.11
    Сообщения:
    44
    Симпатии:
    9
    Версия XF:
    1.1.4
    инклюд тебе поможет
     
  19. Solonik

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

    Регистрация:
    06.01.12
    Сообщения:
    9
    Симпатии:
    0
    Версия XF:
    1.0.0
    А можно поподробнее ?
     
  20. battlemax

    battlemax Активный пользователь

    Регистрация:
    29.12.11
    Сообщения:
    44
    Симпатии:
    9
    Версия XF:
    1.1.4
    <head>
    <?
    include"NovieTembI.php";
    ?>
    </head>
     

Поделиться этой страницей