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

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

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

Аякс обновление "Что нового?"

Discussion in 'Моды - Mods' started by Gooos, Jun 21, 2011.

  1. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Этот мод автоматически обновляет ленту активности через заданный промежуток времени.

    Создайте новый файл auto-refresh.tpl
    Вставьте в него код:
    PHP:

         
    {include file='header_global.tpl'}
         {* 
    SHOW ACTIONS AUTO REFRESH IN HOME BY AFLATON *}
               {
    section name=actions_loop loop=$actions max=10}
                 <
    div id='action_{$actions[actions_loop].action_id}' class='portal_action{if $smarty.section.actions_loop.first}_top{/if}'>
                   <
    table cellpadding='0' cellspacing='0'>
                   <
    tr>
                   <
    td valign='top'><img src='./images/icons/{$actions[actions_loop].action_icon}' border='0' class='icon' alt='' /></td>
                   <
    td valign='top' width='100%'>
                     {
    assign var='action_date' value=$datetime->time_since($actions[actions_loop].action_date)}
                     <
    div class='portal_action_date'>{lang_sprintf id=$action_date[01=$action_date[1]}</div>
                     {
    assign var='action_media' value=''}
                     {if 
    $actions[actions_loop].action_media !== FALSE}{capture assign='action_media'}{section name=action_media_loop loop=$actions[actions_loop].action_media}<a href='{$actions[actions_loop].action_media[action_media_loop].actionmedia_link}'><img src='{$actions[actions_loop].action_media[action_media_loop].actionmedia_path}' border='0' width='{$actions[actions_loop].action_media[action_media_loop].actionmedia_width}' class='recentaction_media' alt='' /></a>{/section}{/capture}{/if}
                     {
    lang_sprintf assign=action_text id=$actions[actions_loop].action_text args=$actions[actions_loop].action_vars}
                     {
    $action_text|replace:"[media]":$action_media|choptext:50:"
         "
    }
                         </
    td>
                   </
    tr>
                   </
    table>
                 </
    div>
               {/
    section}
    Создайте новый файл auto-refresh.php
    Вставьте в него код:
    PHP:

    <?php
         
         
    /* $Id: auto-refresh.php By:aFlaTon $ */
         
         
    $page "auto-refresh";
         include 
    "header.php";
         
    // Get actions feed - Has code in it that is preventing direct caching
         
    $actions_array $actions->actions_display(0$setting['setting_actions_actionsperuser']);
         
         
    $smarty->assign_by_ref('actions'$actions_array);
         
         
         include 
    "footer.php";
         
    ?>
    Загрузите на сервер в соответствующие папки.
    Откройте home.tpl
    Найдите:
    PHP:

    {* SHOW ACTIONS *}
               {
    section name=actions_loop loop=$actions max=10}
                 <
    div id='action_{$actions[actions_loop].action_id}' class='portal_action{if $smarty.section.actions_loop.first}_top{/if}'>
                   <
    table cellpadding='0' cellspacing='0'>
                   <
    tr>
                   <
    td valign='top'><img src='./images/icons/{$actions[actions_loop].action_icon}' border='0' class='icon' alt='' /></td>
                   <
    td valign='top' width='100%'>
                     {
    assign var='action_date' value=$datetime->time_since($actions[actions_loop].action_date)}
                     <
    div class='portal_action_date'>{lang_sprintf id=$action_date[01=$action_date[1]}</div>
                     {
    assign var='action_media' value=''}
                     {if 
    $actions[actions_loop].action_media !== FALSE}{capture assign='action_media'}{section name=action_media_loop loop=$actions[actions_loop].action_media}<a href='{$actions[actions_loop].action_media[action_media_loop].actionmedia_link}'><img src='{$actions[actions_loop].action_media[action_media_loop].actionmedia_path}' border='0' width='{$actions[actions_loop].action_media[action_media_loop].actionmedia_width}' class='recentaction_media' alt='' /></a>{/section}{/capture}{/if}
                     {
    lang_sprintf assign=action_text id=$actions[actions_loop].action_text args=$actions[actions_loop].action_vars}
                     {
    $action_text|replace:"[media]":$action_media|choptext:50:"
         "
    }
                         </
    td>
                   </
    tr>
                   </
    table>
                 </
    div>
               {/
    section}
    Замените на:
    PHP:

    {literal}
         <
    script type="text/javascript">
         function 
    Ajax(){
         var 
    xmlHttp;
         try{
         
    xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
         
    }catch (e){
         try{
         
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
         
    }catch (e){
         try{
         
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
         }catch (
    e){
         
    alert("Ваш браузер не поддерживает эту веб-страницу...");
         return 
    false;
         }
         }
         }
         
    xmlHttp.onreadystatechange=function()
         {
             if(
    xmlHttp.readyState == 4)
             {
                 
    document.getElementById('auto').innerHTML=xmlHttp.responseText;
             }
         }
         
    xmlHttp.open("GET","auto-refresh.php",true);
         
    xmlHttp.send(null);
         }
         
    window.onload=function(){
         
    setInterval('Ajax()'2000);
         }
         
    </script>
         {/literal}
         <div id="auto"></div>
  2. its-me User


    Offline
    Message Count:
    406
    Likes Received:
    3
    данный вариант очень даже неплох! :)
    есть другой способ, менее нагружающий сервер, это замена блоков, чтобы это сделать надо нормально поднатужиться
  3. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Вот бы ещё картинку прелоада прикрутить для наглядности обновления =) хотя и не обязательно
    и первую загрузку сделать без задержки, а то сильно парит, выставил минуту на обновление, так страница уже загрузилась давно, а лента нет, появляется только через минуту.
    В общем не более setInterval('Ajax()', 5000); жить можно...

    погиб скрипт закругления аватарок по углам, отказался я от этого рефреша, всё равно никто из юзеров не сидит тупо на главной и не жмёт кнопку на обновление страницы
  4. bennington111 Banned


    Offline
    • Banned
    Message Count:
    502
    Likes Received:
    225
    Он конфликтует с закруглением углов?
  5. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
  6. bennington111 Banned


    Offline
    • Banned
    Message Count:
    502
    Likes Received:
    225
    Ясно,я его использую,прийдется отказатся :)
  7. sigitov User


    Offline
    Message Count:
    106
    Likes Received:
    18
    My version of SE:
    3.20
    я использую твой мод в качестве автообновления левого меню. ОГРОМНОЕ СПАСИБО!!!
  8. its-me User


    Offline
    Message Count:
    406
    Likes Received:
    3
    :D

    надоо в авторефреше стили поставить и все норм
  9. Dj AngeL Active member


    Offline
    Message Count:
    282
    Likes Received:
    38
    My version of SE:
    3.20
    Gooos, зачем создавать, если есть подобная тема?!
  10. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Без "пруфлинка" - пустой звук! Зачем создавать пустые сообщения?!

Share This Page

All rights reserved SocEngine.ru ©