1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Блок последних новостей v.3

Discussion in 'Моды - Mods' started by Администратор, Nov 10, 2009.

  1. sewgen User


    Offline
    Message Count:
    259
    Likes Received:
    40
    My version of SE:
    3.20
    Да нет там ни туя...
    Сходи посмори - сюда.
    Нет и не было такого...
  2. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    sewgen, попробуй
    You must edit home.php and add this code:
    PHP:

      
    // THIS METHOD LISTS ALL TOPICS IN A FORUM
       //     $limit REPRESENTING THE NUMBER OF TOPICS TO RETURN
       // OUTPUT: AN ARRAY OF TOPIC INFORMATION
       
    function forum_last_reply_topic_list($limit) {
         global 
    $database$user;

         
    // SET LEVEL ID
         
    if($user->user_exists) { $level_id $user->level_info[level_id]; } else { $level_id 0; }

         
    // GET TOPICS
         
    $sql "SELECT se_forumtopics.forumtopic_id, se_forumtopics.forumtopic_subject, se_forumtopics.forumtopic_forum_id FROM se_forumtopics LEFT JOIN se_forumlogs ON (se_forumtopics.forumtopic_id=se_forumlogs.forumlog_forumtopic_id AND se_forumlogs.forumlog_user_id='{$user->user_info[user_id]}') WHERE forumtopic_forum_id IN (SELECT forumlevel_forum_id FROM se_forumlevels WHERE forumlevel_level_id='{$level_id}') ORDER BY forumtopic_sticky DESC, forumtopic_date DESC LIMIT $limit";

         
    $forumtopics $database->database_query($sql);
         
    $forumtopic_array = Array();
         while(
    $forumtopic_info $database->database_fetch_assoc($forumtopics)) {

           
    // GET LAST POST
           
    $lastpost $database->database_query("SELECT se_forumposts.forumpost_id FROM se_forumposts WHERE se_forumposts.forumpost_forumtopic_id='{$forumtopic_info[forumtopic_id]}' AND se_forumposts.forumpost_deleted='0' ORDER BY se_forumposts.forumpost_id DESC LIMIT 1");
           if(
    $database->database_num_rows($lastpost) == 1) {
             
    $lastpost_info $database->database_fetch_assoc($lastpost);

             
    $forumtopic_info[lastpost] = true;

             
    $forumtopic_info[lastpost_info] = $lastpost_info;

           } else {
             
    $forumtopic_info[lastpost] = false;
           }

           
    $forumtopic_array[] = $forumtopic_info;
         }

         return 
    $forumtopic_array;

       } 
    // END forum_last_reply_topic_list() METHOD



    $topics_array forum_last_reply_topic_list(5); // show last 5 topic

    $smarty->assign_by_ref('topics'$topics_array);
    Now you must edit templates/home.tpl and before:
    PHP:

    </div>
    <
    div style='clear: both;'></div>

    {include 
    file='footer.tpl'}
    add this:
    PHP:

      
    {* SHOW LAST REPLY/ADDED TOPIC ON FORUM *}
      <
    div class='header'>Last reply on Forum</div>
      <
    div class='portal_content'>

        {
    section name=topic_loop loop=$topics}
    {if 
    $topics[topic_loop].lastpost}
    <
    a href='forum_topic.php?forum_id={$topics[topic_loop].forumtopic_forum_id}&topic_id={$topics[topic_loop].forumtopic_id}&post_id={$topics[topic_loop].lastpost_info.forumpost_id}#post_{$topics[topic_loop].lastpost_info.forumpost_id}'>{else}<a href='forum_topic.php?forum_id={$topics[topic_loop].forumtopic_forum_id}&topic_id={$topics[topic_loop].forumtopic_id}'>{/if}{$topics[topic_loop].forumtopic_subject}</a>
    <
    br />
        {/
    section}

      </
    div>
      <
    div class='portal_spacer'></div>
  3. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    или это:

    open include/class_forum.php
    find :
    PHP:

    // THIS METHOD LISTS ALL TOPICS IN A FORUM
          // INPUT: $forum_id REPRESENTING THE FORUM ID OF THE FORUM TO RETRIEVE TOPICS FROM
          //      $start REPRESENTING THE TOPIC TO START WITH
          //      $limit REPRESENTING THE NUMBER OF TOPICS TO RETURN
          // OUTPUT: AN ARRAY OF TOPIC INFORMATION
          
    function forum_topic_list($forum_id$start$limit)
      


    Add above this :

    PHP:
     // GET New topics
      
    function new_topic_list($forum_id$limit) { // if $forum_id=0, all forums 
            
    global $database$user;
                   if(
    $forum_id$where="WHERE forumtopic_forum_id='$forum_id'"
            
    // GET TOPICS
        
         
                
    $gettopics $database->database_query("SELECT se_forumtopics.forumtopic_id, se_forumtopics.forumtopic_subject, se_forumtopics.forumtopic_date, se_forumtopics.forumtopic_forum_id,se_forumtopics.forumtopic_creatoruser_id,se_forumtopics.forumtopic_totalreplies, se_forumtopics.forumtopic_views, se_users.user_id, se_users.user_username, se_users.user_fname, se_users.user_lname, se_users.user_photo FROM se_forumtopics LEFT JOIN se_users ON se_forumtopics.forumtopic_creatoruser_id=se_users.user_id  {$where} ORDER BY se_forumtopics.forumtopic_id DESC LIMIT $limit");
                 
    $forumtopic_array = Array();
                 while( 
    $newtopics $database->database_fetch_assoc($gettopics) )
                     
                  
    $forumtopic_array[]=$newtopics;    
                  
            return 
    $forumtopic_array ;
      
          } 
    // END new_topic_list() METHOD
      


    open home.php
    find :
    PHP:
    // ASSIGN SMARTY VARIABLES AND INCLUDE FOOTER
    add above it :

    PHP:
     // GET NEW TOPICS  
      
    $forum = new se_forum();
     
    $topic_limit 10;
      
    // SET TOPIC ARRAY
     
    $topic_array $forum->new_topic_list(0,$topic_limit);    // set 0 for all forums or set whatever forum id you want to show
     
    $smarty->assign('topics'$topic_array);  

    open home.tpl

    put wherever you want them showed :


    PHP:
     {* NEW TOPICS FROM FORUMS *} 
                 
                   {
    section name=topic_loop loop=$topics max=10}   
               <
    div style='border-bottom: 1px solid #ccc; padding:1px 0; width:100%'>
                <
    div style="float:left"><img src="../images/icons/disscusion.jpg" /> </div
                <
    div >
                     
                  <
    div style="margin-top:3px;">     
                    <
    div style='float:left; padding-bottom:5px;'> <a href='forum_topic.php?forum_id={$topics[topic_loop].forumtopic_forum_id}&topic_id={$topics[topic_loop].forumtopic_id}'>{$topics[topic_loop].forumtopic_subject}</a>
                    
     {
    capture assign="topic_poster"} <a href='{$url->url_create("profile", $topics[topic_loop].user_username)}'> {$topics[topic_loop].user_fname} {$topics[topic_loop].user_lname}</a>{/capture}    {lang_sprintf id=6000095 1=$topic_poster
                   {
    assign var='topic_date_basic' value=$datetime->time_since($topics[topic_loop].forumtopic_date)}
                 - {
    lang_sprintf id=$topic_date_basic[01=$topic_date_basic[1]}</div>
                    <
    div style="float:right"> {lang_print id=1000065} {$topics[topic_loop].forumtopic_views} | {lang_print id=69658061} {$topics[topic_loop].forumtopic_totalreplies} </div>
                    <
    div class="space-line"></div>
                 </
    div>
                
        
        
               </
    div
                  </
    div>
                    {/
    section}  
  4. sewgen User


    Offline
    Message Count:
    259
    Likes Received:
    40
    My version of SE:
    3.20
    Ух ты! Обязательно попробую.
    Щща сайт тока подниму... (Чёта перемудрил с оптимизацией комментов. )
  5. L4zySh4rk Novice member


    Offline
    Message Count:
    9
    Likes Received:
    0
    а как можно заставить этот мод, который на первой странице, работать для незарегистрированных пользователей, те грубо говоря повесить его простно на главной странице?
  6. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Надо что-бы этот код
    PHP:
      {* SHOW RECENT MENU NEWS BOX GOOOS *}
      {include 
    file='recent_news_box.tpl'}
    был внутри условия:
    PHP:
    {if !$user->user_exists}
            {* 
    всёчто тут для гостей *}
            {* 
    SHOW RECENT MENU NEWS BOX GOOOS *}
            {include 
    file='recent_news_box.tpl'}
    {else}
            {* 
    а тут для зарегистрированнаых *}
    {/if}

  7. VasyQQ User


    Offline
    Message Count:
    75
    Likes Received:
    0

    а как вычленить, чтобы показывались только новые (только что созданные) темы дискуссий?
    п.с.: не нужно, чтобы показывались ответы на давно созданные темы, хотелось бы сделать что-то вроде топика новых тем, это возможно?
  8. milyana Active member


    Offline
    Message Count:
    99
    Likes Received:
    0
    Добрый день!
    Помогите пожалуйста мне понять, вот на первой странице этой темы Gooos написал инструкцию, как вынести информационные блоки в колонку на главную страницу.
    Я понимаю, что по аналогии можно так вывести любые новости, но натолкните пожалуйста, на эту самую аналогию... С каких файлов берётся этот код? Например нужно выводить темы из групп, новые вопросы их плагина вопросы и т.п. Какая взаимосвязь у кодов? Подскажите пожалуйста..
  9. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Взаимосвязь со страницами обзора (browse_groups). Код от туда, как пхп, так и тпл.
    Можно взять все файлы от описанного тут блока и поставить из пхп в хом.пхп, из тпл в хом.тпл (дизайн подкорректировать под свой)
  10. viajante Novice member


    Offline
    Message Count:
    61
    Likes Received:
    1
    У Вас стоит этот форум?
    Стоял Forum 3.03, без I, снес, поставил Ваш. Только теперь непонятно, при нажатии на форум ведет на:
    /forum.php?iid=1&c=forum&op=index
    белая страница. Набираю адресс forum.php, получаю картинку:
    24.09.png
    А где кнопочки добавить тему, ответить???
    Или я не так установил?
    :stena:

    При переходе на страницу категорий:
    /forum.php?iid=2&c=forum&op=index
    Тоже пустая страница.

Share This Page

All rights reserved SocEngine.ru ©