Помощь Вывод на сайт определённого раздела форума

Тема в разделе "XenForo", создана пользователем devius, 13 июн 2012.

Информация :
Хотите добавить продукт, следуйте правилам:
1)Добавить скриншот.
2)Добавить описание (Описание на английском языке использовать - запрещено).
3)Ссылка на скачивание должна вести на сторонний файлообменник (использовать вложения - запрещено).
Модераторы: DMS
  1. devius

    devius Писатель

    Регистр.:
    18 май 2012
    Сообщения:
    4
    Симпатии:
    0
    Всем привет :)

    До этого работал только с IPB форумами. Очень уж нравиться данное изделие.
    Вот решил попробовать на новый проект поставить XenForo, т.к. набирает популярность. Всё бы классно, форум приятный, но:

    Хочу создать раздел "Новости" и из него парсить первые 200 символов + заглавие каждой статьи. Где что будет лежать в базе? Вот, что я нашел - xf_node (все разделы и категории), xf_post (все посты), xf_news_feed (последние посты, лента). Не могу найти свзять xf_post с xf_node... Т.к. непонятно, какой пост в какой категории/разделе...

    Подскажите плз :)
    ----------------------------------------------------------
    Уже разобрался :)
    Если кто-то будет реализовывать подобную затею, то:

    есть таблица xf_thread. В ней расположены заголовки статей. Связаны они со статьями - полем thread_id. Айдишники идут соответственно 1-1, 2-2 и т.д.
    Парсим заголовок - определяем трид_айди - по найденному трид_айди находим соответствующий пост.
     
  2. alextan

    alextan Постоялец

    Регистр.:
    12 мар 2007
    Сообщения:
    146
    Симпатии:
    15
    Есть ли готовое, законченное решение?
     
  3. devius

    devius Писатель

    Регистр.:
    18 май 2012
    Сообщения:
    4
    Симпатии:
    0
    Вот, например, была у меня такая выборка статей, взаимодействующая с XenForo.

    PHP:
    <?    $query "SELECT * FROM `xf_thread` WHERE node_id=3 ORDER BY thread_id DESC ";
                 
                    
    $res mysql_query($query) or die(mysql_error());
                    
    $number mysql_num_rows($res);
                 
                    while (
    $row=mysql_fetch_array($res))
                    {
                        echo 
    '<h2><a href="forum">'.$row['title'].'</a></h2>';
                     
                        
    $r2 $row['thread_id'];
                        
    $query2 "SELECT * FROM `xf_post` WHERE thread_id = $r2";
                        
    $res2 mysql_query($query2) or die(mysql_error());
                        
    $row2=mysql_fetch_array($res2);
                        echo 
    $row2['message'];
                        echo 
    "<br>";echo "<br>";
                    }
         
      
    ?>


    А вот писал выборку последних 6 тем с форума.

    PHP:
    <?    $query "SELECT * FROM `xf_thread` ORDER BY thread_id DESC LIMIT 6"
                            
    $res mysql_query($query) or die(mysql_error());
                            
    $number mysql_num_rows($res);
                                         
                            while (
    $row=mysql_fetch_array($res))
                            {
                                echo 
    '<li><a href="forum">'.$row['title'].'</a></li>';
                             
                            } 
    ?>


    Если помогло, то повышение репутации будет достойной наградой.