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

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

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

Делаем слайдшоу в альбоме SE3

Discussion in 'Моды - Mods' started by Gooos, Jul 24, 2011.

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


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Делюсь бесплатно со всеми =)
    У меня на странице просмотра фотографий в альбоме аж три способа перейти к следующей фотке: первый что сверху справа от фотки (знакомые всем стрелочки), второй способ это клик на самой фотке, ну и третий - полоска с тумбнейлами, что снизу фотки. Явно перебор и я решил тумбнейлы использовать для построения слайд шоу.

    Итак, приступим.
    Для начала поискал по инету разные варианты и остановился на highslide. Понравилось, что есть русская локализация, скрипт бесплатен для личного использования, есть Highslide Editor при помощи которого можно подобрать оптимальный интерфейс, куча настроек, легко устанавливается, не конфликтует с родными скриптами SE.
    Как установить скрипт вы узнаете на сайте http://highslide.com.

    А вот как подготовить SE к установке скрипта читаем дальше. (отдельное спасибо SpartakuS(у) за помощь с "alt" к картинкам)

    Для начала открываем файл album_file.php и находим:

    PHP:
    $media_query $database->database_query("SELECT media_id, media_ext,
    заменяем на:
    PHP:
    $media_query $database->database_query("SELECT media_id, media_ext, media_title,
    это и даст нам отображение названия картинки "alt" у тумбнейла (позже нам это понадобится).

    Далее переходим к файлу album_file.tpl
    Находим код:
    PHP:
          {* IF IMAGEGET THUMBNAIL *}
          {if 
    $v.media_ext == "jpeg" || $v.media_ext == "jpg" || $v.media_ext == "gif" || $v.media_ext == "png" || $v.media_ext == "bmp"}
            {
    assign var='file_dir' value=$url->url_userdir($v.album_user_id)}
            {
    assign var='file_src' value="`$file_dir``$v.media_id`_thumb.jpg"}
    ниже дописываем строчку:
    PHP:
    {assign var='bigfile_src' value="`$file_dir``$v.media_id`.`$v.media_ext`"}
    Далее ниже находим:
    PHP:
    {* SHOW THUMBNAILS *}
          <
    td id='thumb{$smarty.foreach.media_loop.iteration}' class='carousel_item{if $v.media_id == $media_info.media_id}_active{/if}'><a href='{$url->url_create('album_file', $owner->user_info.user_username, $album_info.album_id, $v.media_id)}'><img src='{$file_src}' border='0' width='{$misc->photo_size($file_src,'70','70','w')}' onClick='this.blur()'></a></td>
    и всю ссылку заменяем на:
    PHP:
    <a href='{$bigfile_src}' class='highslide' onclick='return hs.expand(this, config1 )'><img src='{$file_src}' border='0' width='{$misc->photo_size($file_src,'70','70','w')}' alt='{$v.media_title}' /></a>
    Всё готово.
    Теперь при нажатии на тумбнейл начинается слайд шоу.
    Файлы яваскриптов рекомендую подключать в футере.
    У кого стоит Graffiti Advanced + zoom или Graffiti Advanced + zoom + lang надо удалить яваскрипты и css (highslide) из хедера и с сервера, они больше не нужны.

    9999999.jpg Screenshot_1.png Screenshot_2.png

    PS таким же способом можно и в альбомах групп. ;)
    pashara likes this.
  2. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Внесено изменение в добавляемую строчку:
    PHP:
    {assign var='bigfile_src' value="`$file_dir``$v.media_id`.`$v.media_ext`"}
  3. AlexandeRS User


    Offline
    Message Count:
    2
    Likes Received:
    0
    Блин, у меня в album_file.tpl нет таких строчек!
  4. vladmart Novice member


    Offline
    Message Count:
    8
    Likes Received:
    0
    Спосибо Gooos!
    Как сделать, так что было как у тебе, как на второй фото с кнoпокой, посмотреть как слайдшоу? Потому что у меня не получается изпользвувать коментов.
  5. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Это не кнопка, это просто надпись с картинкой.
    Добавить этот слой
    PHP:
    {* SLIDE SHOW FILES IN THIS ALBUM *}
    <
    div class='page_header' align='center' style='margin-top: 10px;'><img align="top" src='./images/icon_slideshow.gif' border='0' />&nbsp;Посмотреть как слайдшоу</div>

    {* 
    SHOW FILES IN THIS ALBUM *}
    icon_slideshow.gif
  6. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Поюзали мои пользователи это дело и попросили вернуть им назад нормальные тумбнейлы, а слайдшоу отдельной ссылкой.
    Ну, что-ж, раз попросили - вернём :)
    Для тех, кто поставил слайдшоу, надо вернуть из бэкапа прежние тумбнейлы.
    Далее надо под дефолтными тумбнейлами поставить этот код:
    PHP:

    {* SLIDE SHOW FILES IN THIS ALBUM *}
    <
    div class="media" style="margin:10px 365px 0 365px;padding:3px 3px 3px 10px">
    <
    div class='page_header' style='float:left'>Слайдшоу ►</div>

    {* 
    SHOW FILES IN THIS ALBUM *}

      <
    div style='width: 24px; margin: 2px 5px 0 5px; text-align: center; overflow: hidden;float:left'>

        <
    table cellpadding='0' cellspacing='0'>
        <
    tr>

        {foreach 
    name=media_loop from=$media key=k item=v}

          {* IF 
    IMAGEGET THUMBNAIL *}
          {if 
    $v.media_ext == "jpeg" || $v.media_ext == "jpg" || $v.media_ext == "gif" || $v.media_ext == "png" || $v.media_ext == "bmp"}
            {
    assign var='file_dir' value=$url->url_userdir($v.album_user_id)}
            {
    assign var='file_src' value="`$file_dir``$v.media_id`_thumb.jpg"}
            {
    assign var='bigfile_src' value="`$file_dir``$v.media_id`.`$v.media_ext`"}
          {* 
    SET THUMB PATH FOR AUDIO *}
          {elseif 
    $v.media_ext == "mp3" || $v.media_ext == "mp4" || $v.media_ext == "wav"}
            {
    assign var='file_src' value='./images/icons/audio_big.gif'}
          {* 
    SET THUMB PATH FOR VIDEO *}
          {elseif 
    $v.media_ext == "mpeg" || $v.media_ext == "mpg" || $v.media_ext == "mpa" || $v.media_ext == "avi" || $v.media_ext == "swf" || $v.media_ext == "mov" || $v.media_ext == "ram" || $v.media_ext == "rm"}
            {
    assign var='file_src' value='./images/icons/video_big.gif'}
          {* 
    SET THUMB PATH FOR UNKNOWN *}
          {else}
            {
    assign var='file_src' value='./images/icons/file_big.gif'}
          {/if}

          {* 
    SHOW ACTIVE THUMBNAILS SLIDE SHOW *}
          <
    td  style='{if $v.media_id == $media_info.media_id}padding:0px;{else}display:none{/if}'>
           <
    a href='{$bigfile_src}' class='highslide' onclick='return hs.expand(this, config1 )' title="Старт слайдшоу">
            <
    img src='{$file_src}' border='0' width='{$misc->photo_size($file_src,'24','24','w')}' alt='{$v.media_title}' />
           </
    a>
          </
    td>

        {/foreach}

        </
    tr>
        </
    table>

      </
    div>
    <
    div style="clear:both"></div>
    </
    div>
    {* / 
    SLIDE SHOW FILES IN THIS ALBUM *}
    у кого не стыкуется ширина, поправьте под себя <div class="media" style="margin:10px 365px 0 365px;padding:3px 3px 3px 10px">
    в итоге получится отдельная ссылка на слайдшоу:
    889988.jpg

    А вообще можно слайдшоу в любое место поставить, я себе поставил вот сюда:
    778877.jpg
  7. viajante Novice member


    Offline
    Message Count:
    61
    Likes Received:
    1
    Спасибо за мод.
    Только получается у меня такая картинка:

    1.png

    Подскажите как картинки выровнять в один ряд и поставить их на место.
    Делал все как написано в первом посту.
    В файле header_global.tpl вписал:
    PHP:
    <script type="text/javascript" src="./highslide/highslide-with-gallery.js"></script>
    <script type="text/javascript" src="highslide/highslide.config.js" charset="utf-8"></script>
    <link rel="stylesheet" type="text/css" href="./highslide/highslide.css" />
    {literal}<script type="text/javascript">
    hs.graphicsDir = '../highslide/graphics/';
    hs.align = 'center';
    hs.transitions = ['expand', 'crossfade'];
    hs.fadeInOut = true;
    hs.dimmingOpacity = 0.8;
    hs.outlineType = 'rounded-white';
    hs.captionEval = 'this.thumb.alt';
    hs.marginBottom = 105; // make room for the thumbstrip and the controls
    hs.numberPosition = 'caption';

    // Add the slideshow providing the controlbar and the thumbstrip
    hs.addSlideshow({
        //slideshowGroup: 'group1',
        interval: 5000,
        repeat: false,
        useControls: true,
        overlayOptions: {
            className: 'text-controls',
            position: 'bottom center',
            relativeTo: 'viewport',
            offsetY: -60
        },
        thumbstrip: {
            position: 'bottom center',
            mode: 'horizontal',
            relativeTo: 'viewport'
        }
    });
    </script>{/literal}
    И в файл highslide.config.js
    PHP:
    hs.graphicsDir 'highslide/graphics/';
    hs.outlineType 'custom';
    hs.dimmingOpacity 0.75;
    hs.fadeInOut true;
    hs.align 'center';
    hs.marginBottom 105;
    hs.captionEval 'this.a.title';


    // Add the slideshow controller
    hs.addSlideshow({
        
    slideshowGroup'group1',
        
    interval5000,
        
    repeatfalse,
        
    useControlstrue,
        
    fixedControlsfalse,
        
    overlayOptions: {
            
    className'text-controls',
            
    opacity1,
            
    position'bottom center',
            
    offsetX0,
            
    offsetY: -60,
            
    relativeTo'viewport',
            
    hideOnMouseOutfalse
        
    },
        
    thumbstrip: {
            
    mode'horizontal',
            
    position'bottom center',
            
    relativeTo'viewport'
        
    }

    });

    // Russian language strings
    hs.lang = {
        
    cssDirection'ltr',
        
    loadingText'Загружается...',
        
    loadingTitle'Нажмите для отмены',
        
    focusTitle'Нажмите чтобы поместить на передний план',
        
    fullExpandTitle'Развернуть до оригинального размера',
        
    creditsText'Использует <i>Highslide JS</i>',
        
    creditsTitle'Перейти на домашнюю страницу Highslide JS',
        
    previousText'Предыдущее',
        
    nextText'Следующее',
        
    moveText'Переместить',
        
    closeText'Закрыть',
        
    closeTitle'Закрыть (esc)',
        
    resizeTitle'Изменить размер',
        
    playText'Слайдшоу',
        
    playTitle'Начать слайдшоу (пробел)',
        
    pauseText'Пауза',
        
    pauseTitle'Приостановить слайдшоу (пробел)',
        
    previousTitle'Предыдущее (стрелка влево)',
        
    nextTitle'Следующее (стрелка вправо)',
        
    moveTitle'Переместить',
        
    fullExpandText'Оригинальный размер',
        
    number'Изображение %1 из %2',
        
    restoreTitle'Нажмите чтобы закрыть изображение, нажмите и перетащите для изменения местоположения. Для просмотра изображений используйте стрелки.'
    };

    // gallery config object
    var config1 = {
        
    slideshowGroup'group1',
        
    numberPosition'caption',
        
    transitions: ['expand''crossfade']
    };
    Не могу никак загнать на место картинки, и чтоб показывало только в один ряд. :stena:
    Помогите, плиз.....
  8. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Видать не внимательно делал. Верни бэкап album_file.tpl и аккуратно не стирая лишнего повтори всё сначала.
  9. viajante Novice member


    Offline
    Message Count:
    61
    Likes Received:
    1
    Gooos спасибо за подсказку. Это я тормознул. :confused1:
    Заменил не ссылку, а удалил и все <td></td> - сейчас внимательно прочитал и все нормально.
    Но проексперементировал второй вариант, понравился больше. Сейчас буду пробовать.
  10. mj8x7 Novice member


    Offline
    Message Count:
    69
    Likes Received:
    1
    а можно сделать что бы в место просмотра стандартного фотоальбома была возможность сразу открывать это слайдшоу и использовать его?
    хотелось бы заменить стандартный фотоальбом этим.

Share This Page

All rights reserved SocEngine.ru ©