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

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

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

Как вывести комментарии и подарки прямо в профиль, вместо вкладок??

Discussion in 'Прочая Поддержка - Help Requests' started by Wlob, May 16, 2010.

  1. Wlob Thread starter Novice member


    Offline
    Message Count:
    9
    Likes Received:
    0
    Кто нить знает?
  2. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Готового решения нет.
  3. Wlob Thread starter Novice member


    Offline
    Message Count:
    9
    Likes Received:
    0
  4. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
  5. SummerResident User


    Offline
    Message Count:
    241
    Likes Received:
    4
    На счет комментариев так:
    0. Делаем бэкап изменяемых файлов.

    1. Открываем profile.tpl и
    между {* END PROFILE TABS AND FIELDS *} и {* SHOW RECENT ACTIVITY *} добавляем:
    PHP:
    {* BEGIN COMMENTS IN PROFILE *}
               
        {if 
    $allowed_to_comment != || $total_comments != 0
           
          {* 
    SHOW COMMENT TAB *} 
        <!--  <
    div id='profile_comments'{if $v != 'comments'style='display: none;'{/if}> --> 
            <
    div id='profile_comments'
             
            {* 
    COMMENTS *} 
            <
    div id="profile_{$owner->user_info.user_id}_postcomment"></div
            <
    div id="profile_{$owner->user_info.user_id}_comments" style='margin-left: auto; margin-right: auto;'></div
             
            {
    lang_javascript ids=39,155,175,182,183,184,185,187,784,787,829,830,831,832,833,834,835,854,856,891,1025,1026,1032,1034,1071
             
            {
    literal
            <
    style type='text/css'
              
    div.comment_headline 
                
    font-size13px;  
                
    margin-bottom7px
                
    font-weightbold
                
    padding0px
                
    bordernone
                
    backgroundnone
                
    color#555555; 
              

            </
    style
            {/
    literal
             
            <
    script type="text/javascript"
             
              
    SocialEngine.ProfileComments = new SocialEngineAPI.Comments({ldelim
                
    'canComment' : {if $allowed_to_comment}true{else}false{/if}, 
                
    'commentHTML' '{$setting.setting_comment_html|replace:",":", "}'
                
    'commentCode' : {if $setting.setting_comment_code}true{else}false{/if}, 
                 
                
    'type' 'profile'
                
    'typeIdentifier' 'user_id'
                
    'typeID' : {$owner->user_info.user_id}, 
                 
                
    'typeTab' 'users'
                
    'typeCol' 'user'
                 
                
    'initialTotal' : {$total_comments|default:0}, 
                 
                
    'paginate' true
                
    'cpp' 10
                 
                
    'commentLinks' : {literal}{'reply' true'walltowall' true}{/literal
              {
    rdelim}); 
             
              
    SocialEngine.RegisterModule(SocialEngine.ProfileComments); 
            
              
    // Backwards 
              
    function addComment(is_errorcomment_bodycomment_date
              {
    ldelim
                
    SocialEngine.ProfileComments.addComment(is_errorcomment_bodycomment_date); 
              {
    rdelim
             
              function 
    getComments(direction
              {
    ldelim
                
    SocialEngine.ProfileComments.getComments(direction); 
              {
    rdelim

            
    </script>         
          </div>       
        {/if} 
            
          {* END COMMENTS IN PROFILE *}
    Отлично, первая часть закончена. Комментарии теперь отображаются в профиле, но есть косяки: отображается вкладка "Комментарии", при переходе в которую, мы видим пустоту а при возврате из нее, на вкладку "Профиль", — ...тоже пусто, камментов нет. А так же функция "ответить" работает через одно место. Точнее, она вообще не работает. Как решаем? Очень просто:
    2. Открываем (по идее, команды "закрыть" еще не было, так шо он у нас еще открыт :) ) наш замученный profile.tpl и находим там:
    PHP:
    {if $allowed_to_comment != || $total_comments != 0}<td valign='bottom'><table cellpadding='0' cellspacing='0'><td class='profile_tab{if $v == 'comments'}2{/if}' id='profile_tabs_comments' onmouseup="this.blur()"><a href='javascript:void(0);' onmousedown="loadProfileTab('comments');getComments(1);" onmouseup="this.blur()">{lang_print id=854}</a></td></tr></table></td>{/if}
    ...удаляем его и забываем как страшный сон.

    2.1. Находим в нем же (в файле) и удаляем (я специально такой порядок действий сделал)) бугага))) ) это:
    PHP:
    {* BEGIN COMMENTS TAB *}
             {if 
    $allowed_to_comment != || $total_comments != 0}
     
     
               {* 
    SHOW COMMENT TAB *}
     
                 {* 
    COMMENTS *}
                 <
    div id="profile_{$owner->user_info.user_id}_postcomment"></div>
                 <
    div id="profile_{$owner->user_info.user_id}_comments" style='margin-left: auto; margin-right: auto;'></div>
              
                 {
    lang_javascript ids=39,155,175,182,183,184,185,187,784,787,829,830,831,832,833,834,835,854,856,891,1025,1026,1032,1034,1071}
              
            {
    literal}
            <
    style type='text/css'>
              
    div.comment_headline {
                
    font-size10pt;
                
    margin-bottom7px;
                
    font-weightbold;
                
    padding0px;
                
    bordernone;
                
    backgroundnone;
                
    color#555555;
              
    }
            </
    style>
            {/
    literal}
     
                 <
    script type="text/javascript">
                
                   
    SocialEngine.ProfileComments = new SocialEngineAPI.Comments({ldelim}
                     
    'canComment' : {if $allowed_to_comment}true{else}false{/if},
                
    'commentHTML' '{$setting.setting_comment_html|replace:",":", "}',
                
    'commentCode' : {if $setting.setting_comment_code}true{else}false{/if},
     
                     
    'type' 'profile',
                     
    'typeIdentifier' 'user_id',
                     
    'typeID' : {$owner->user_info.user_id},
                  
                     
    'typeTab' 'users',
                     
    'typeCol' 'user',
                  
                     
    'initialTotal' : {$total_comments|default:0},
     
                
    'paginate' true,
                
    'cpp' 10,
     
                
    'commentLinks' : {literal}{'reply' true'walltowall' true}{/literal}
                   {
    rdelim});
                
                   
    SocialEngine.RegisterModule(SocialEngine.ProfileComments);
                
                   
    // Backwards
                   
    function addComment(is_errorcomment_bodycomment_date)
                   {
    ldelim}
                     
    SocialEngine.ProfileComments.addComment(is_errorcomment_bodycomment_date);
                   {
    rdelim}
                
                   function 
    getComments(direction)
                   {
    ldelim}
                     
    SocialEngine.ProfileComments.getComments(direction);
                   {
    rdelim}
     
                 
    </script>
     
             {/if}
             {* END COMMENTS *}
    3. Открываем profile.php, находим:
    PHP:
    // VALIDATE VIEW VAR
     
    if($v != "profile" && $v != "friends" && $v != "comments" && !array_key_exists($v$global_plugins)) { $v "profile"; }
    и удаляем оттуда:
    PHP:
    && $v != "comments"
    Теперь все это дело сохраняем и тестим.
    У меня все работает в Опере, Файрфоксе и Хроме последних версий. Никаких "как тока напишут более восьми комментарием, то они не показываются (((" — нет. Так же я не обнаружил пока (UPD: Опера шалит. Логика пока не понятна) ошибок с порядком вывода комментариев, т.е. новые камменты у меня выводятся первыми (завтра еще с рабочего компа проверю).
    Количество комментариев, выводимых на странице, ограничиваем в 'cpp' : 10, в первом коде (цифра — это количество комментариев, выводимых на одну страницу)

    Спасибо за внимание :)
  6. ENIGMA User


    Offline
    Message Count:
    41
    Likes Received:
    0
    Спасибо. вот переделал немножко и теперь в виде выпадающего меню отображается.

    PHP:
    {* Начало коммент*}


                  {
    literal}
          <
    script type="text/javascript">
      <!-- 
      
    window.addEvent('domready', function() { 
        var 
    Slideup999 = new Fx.Slide('slideup999');
        if(
    menu_minimized.get(999) == 0) { $('min999_icon').innerHTML ' ? 'Slideup999.hide(); }
        $(
    'min999').addEvent('click', function(e){
        
    = new Event(e);
        if(
    menu_minimized.get(999) == 0) { 
          
    menu_minimized.set(9991);
          
    Slideup999.slideIn(); 
          $(
    'min999_icon').innerHTML ' ? ';
        } else { 
          
    menu_minimized.set(9990);
          
    Slideup999.slideOut(); 
          $(
    'min999_icon').innerHTML ' ? ';
        }
        
    e.stop();
        
    this.blur();
        });
      });
      
    //-->
      
    </script> 
          {/literal}
         


      <div style='padding-bottom: 10px; cursor:pointer;' id='actions'>
              <div class='profile_headline2' id='min999' style='background:#100; border-top:1px solid #d9d9d9; padding-top:3px; height:19px; text-shadow: 0px 1px 0px #fff;'>
     <b style='font-family:sans-serif; padding-left:5px;' id='min999_icon'> </b> 
     <b style='font-weight:normal'> {lang_print id=854}  ({$total_comments})</b></div>
            </div><div id='slideup999'>
     {if $allowed_to_comment != 0 || $total_comments != 0}      <a name='comments'></a>      <table cellpadding='0' cellspacing='0' width='100%'>      <tr>        <td class='header'>              </td>      </tr>      <tr>      <td class='profile' id='profile_comments'>      {* SHOW COMMENT TAB *}      <!--<div id='profile_comments'{if $v != 'comments'} style='display: none;'{/if}>-->        {* COMMENTS *}        <div id="profile_{$owner->user_info.user_id}_postcomment"></div>
    {if $user->user_exists != 0} <div style='text-align: left; position: relative; top: -15px;'><a href='user_graffiti.php?user={$owner->user_info.user_username}'>{$profile50}<b>GRAFFITI</b></a></div>{/if}        <div id="profile_{$owner->user_info.user_id}_comments" style='margin-left: auto; margin-right: auto;'></div>              {lang_javascript ids=39,155,175,182,183,184,185,187,784,787,829,830,831,832,833,834,835,854,856,891,1025,1026,1032,1034,1071}          {literal}    <style type='text/css'>      div.comment_headline {        font-size: 10pt;         margin-bottom: 7px;        font-weight: bold;        padding: 0px;        border: none;        background: none;        color: #555555;      }    </style>    {/literal}        <script type="text/javascript">                  SocialEngine.ProfileComments = new SocialEngineAPI.Comments({ldelim}            'canComment' : {if $allowed_to_comment}true{else}false{/if},        'commentHTML' : '{$setting.setting_comment_html|replace:",":", "}',        'commentCode' : {if $setting.setting_comment_code}true{else}false{/if},            'type' : 'profile',            'typeIdentifier' : 'user_id',            'typeID' : {$owner->user_info.user_id},                      'typeTab' : 'users',            'typeCol' : 'user',                      'initialTotal' : {$total_comments|default:0},        'paginate' : true,        'cpp' : 10,        'commentLinks' : {literal}{'reply' : true, 'walltowall' : true}{/literal}          {rdelim});                  SocialEngine.RegisterModule(SocialEngine.ProfileComments);                 // Backwards          function addComment(is_error, comment_body, comment_date)          {ldelim}            SocialEngine.ProfileComments.addComment(is_error, comment_body, comment_date);          {rdelim}                  function getComments(direction)          {ldelim}            SocialEngine.ProfileComments.getComments(direction);          {rdelim}        </script>      <!--</div>-->    </td>    </tr>    </table>    {/if}
            


    </div> 




    {* Конец коммент*} 
  7. SummerResident User


    Offline
    Message Count:
    241
    Likes Received:
    4
    ENIGMA, у меня давно так)) Только у меня еще и "последние действия" автоматом с камментами сворачиваются. Мне так удобнее.
    Было бы веселее прикрутить кнопку "ответить на комментарий". Да еще и с уведомлением на поту об ответе.
  8. ENIGMA User


    Offline
    Message Count:
    41
    Likes Received:
    0
    ну я эту фишку вообще убрал со страницы.
    а ты не мог бы скинуть свой profile.tpl ?
    я бы хотел в профиль добавить вывод подарков и видео но при этом убрать кнопки со вкладок
  9. SummerResident User


    Offline
    Message Count:
    241
    Likes Received:
    4
    у меня не выводятся видео, а подарков вообще нет. Только камменты и последние действия.

Share This Page

All rights reserved SocEngine.ru ©