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

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

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

Подсветка искомого слова в блоге/дневнике

Discussion in 'Моды - Mods' started by Gooos, Nov 20, 2011.

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


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Вставить в blog.tpl перед {include file='footer.tpl'}

    PHP:

    {literal}
          <
    style>.highlight background-coloryellow }</style>
          <
    script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
          <script type="text/javascript">jQuery.noConflict();</script>
          <script>
    jQuery.fn.highlight = function(pat) {
     function innerHighlight(node, pat) {
      var skip = 0;
      if (node.nodeType == 3) {
       var pos = node.data.toUpperCase().indexOf(pat);
       if (pos >= 0) {
        var spannode = document.createElement('span');
        spannode.className = 'highlight';
        var middlebit = node.splitText(pos);
        var endbit = middlebit.splitText(pat.length);
        var middleclone = middlebit.cloneNode(true);
        spannode.appendChild(middleclone);
        middlebit.parentNode.replaceChild(spannode, middlebit);
        skip = 1;
       }
      }
      else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
       for (var i = 0; i < node.childNodes.length; ++i) {
        i += innerHighlight(node.childNodes[i], pat);
       }
      }
      return skip;
     }
     return this.each(function() {
      innerHighlight(this, pat.toUpperCase());
     });
    };
          </script>
          <script>
          jQuery('div').highlight('{/literal}{$blog_search}{literal}');
          </script>
          {/literal}
    Требуется доработка.

    ---------- Сообщение добавлено 20.11.2011 в 01:58 ---------- Предыдущее сообщение было 19.11.2011 в 13:13 ----------


    Я смотрю никто поиском по блогам юзеров не пользуется :D
    Да, кстати ссылки в пагинации в блоге пользователя не верные, если найденных записей больше 10 и они разбиты по страницам.

    Я это исправил, но...

    Как задать условие когда переменная пустая?
    Значение переменной это слова или одно слово.
    Так или как?
    PHP:
    {if $blog_search 'empty'}
    решено, вот так надо:
    PHP:
    {if !empty($blog_search)}
  2. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Доработал, тестирую:
    Слова подсвечиваются, ссылки в пагинации теперь верные.

    20-11-2011 12-06-34.jpg
  3. ruffer Famous member


    Offline
    • Знаменитый
    Message Count:
    393
    Likes Received:
    56
    My version of SE:
    3.20
    а можно ли в browse_music.php
    сделать поиск музыки по названию песни с выводом результата на эту же страницу?
  4. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    В общем сначала исправим ссылки в пагинации:

    В blog.tpl найти {* DISPLAY PAGINATION MENU IF APPLICABLE *} и всю пагинацию заменить на
    PHP:

    {* DISPLAY PAGINATION MENU IF APPLICABLE *}

    {if 
    $maxpage 1}
    {if !empty(
    $blog_search)}
    <
    div class="portal_spacer"></div>
      <
    div class='center'>
        {if 
    $p != 1}
          <
    a href='{$url->url_create("blog", $owner->user_info.user_username)}&p={math equation="p-1" p=$p}&blog_search={$blog_search}'>« {lang_print id=182}</a>
        {else}
          <
    font class='disabled'>« {lang_print id=182}</font>
        {/if}
        {if 
    $p_start == $p_end}
          &
    nbsp;|&nbsp; {lang_sprintf id=184 1=$p_start 2=$total_blogentries} &nbsp;|&nbsp;
        {else}
          &
    nbsp;|&nbsp; {lang_sprintf id=185 1=$p_start 2=$p_end 3=$total_blogentries} &nbsp;|&nbsp;
        {/if}
        {if 
    $p != $maxpage}
          <
    a href='{$url->url_create("blog", $owner->user_info.user_username)}&p={math equation="p+1" p=$p}&blog_search={$blog_search}'>{lang_print id=183»</a>
        {else}
          <
    font class='disabled'>{lang_print id=183»</font>
        {/if}
      </
    div>

    {else}

      <
    div class='center'>
        {if 
    $p != 1}
          <
    a href='{$url->url_create("blog", $owner->user_info.user_username)}&p={math equation="p-1" p=$p}'>« {lang_print id=182}</a>
        {else}
          <
    font class='disabled'>« {lang_print id=182}</font>
        {/if}
        {if 
    $p_start == $p_end}
          &
    nbsp;|&nbsp; {lang_sprintf id=184 1=$p_start 2=$total_blogentries} &nbsp;|&nbsp;
        {else}
          &
    nbsp;|&nbsp; {lang_sprintf id=185 1=$p_start 2=$p_end 3=$total_blogentries} &nbsp;|&nbsp;
        {/if}
        {if 
    $p != $maxpage}
          <
    a href='{$url->url_create("blog", $owner->user_info.user_username)}&p={math equation="p+1" p=$p}'>{lang_print id=183»</a>
        {else}
          <
    font class='disabled'>{lang_print id=183»</font>
        {/if}
      </
    div>
      {/if}
    {/if}
    потом после
    PHP:
    {if !empty($blog_search)}
    вставить скрипты из первого поста.

    Наслаждаемся результатом.
  5. Dj AngeL Active member


    Offline
    Message Count:
    282
    Likes Received:
    38
    My version of SE:
    3.20
    Музыку можно искать, это решено самими разработчиками!

Share This Page

All rights reserved SocEngine.ru ©