Highslide - Слайдер фото для phpBB3.1
					Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
 ).
		
		
	Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
- 
				Anvar
 - Former team member
 - Сообщения: 1965
 - Стаж: 15 лет 7 месяцев
 - Благодарил (а): 57 раз
 - Поблагодарили: 622 раза
 
Highslide - Слайдер фото для phpBB3.1
Всеми известный highslide, для миниатюр картинок в сообщениях.
Для загруженных изображений и изображений в тегах img.
Если изображение в img будет расположено внутри ссылки(в url), то подключен highslide не будет.
Для этого можно подключить [BETA] External Links - Управление ссылками он определит прямые ссылки на изображения.
Ставить как обычное расширение, без каких либо дополнительных настроек.
https://github.com/bb3mobi/highslide
Доработанная версия расширения: https://github.com/AlexSheer/highslide
			
			
						Для загруженных изображений и изображений в тегах img.
Если изображение в img будет расположено внутри ссылки(в url), то подключен highslide не будет.
Для этого можно подключить [BETA] External Links - Управление ссылками он определит прямые ссылки на изображения.
Ставить как обычное расширение, без каких либо дополнительных настроек.
https://github.com/bb3mobi/highslide
Доработанная версия расширения: https://github.com/AlexSheer/highslide
У вас нет необходимых прав для просмотра вложений в этом сообщении.
							
					Последний раз редактировалось Nekstati 28.02.2022 13:58, всего редактировалось 6 раз.
									
			
						Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
			
						Спецзаказы не интересуют!
Перенесено из форума Бета-версии расширений для phpBB 3.1.x в форум Анонсы и поддержка расширений для phpBB 3.1.x 11.07.2015 12:48 модератором LavIgor
	- 
				southklad
														 - phpBB 3.1.0 RC4
 - Сообщения: 3405
 - Стаж: 13 лет 9 месяцев
 - Благодарил (а): 698 раз
 - Поблагодарили: 171 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
Ок, вот заменяем в overall_footer_after.html Работает и уменьшение изображение через  и открытие их через Highslide, вложенные картинки тоже отображаются корректно. 
			
			
									
						Код: Выделить всё
[img]тут картинка[/img]Код: Выделить всё
<!-- IF S_VIEWTOPIC or S_IN_UCP or S_IN_POSTING -->
<script type="text/javascript" src="{BOARD_URL}ext/bb3mobi/highslide/highslide-full.min.js"></script>
<script type="text/javascript">
hs.graphicsDir = '{BOARD_URL}ext/bb3mobi/highslide/graphics/';
hs.align = 'center';
hs.transitions = ['expand', 'crossfade'];
hs.fadeInOut = true;
hs.dimmingOpacity = 0.8;
hs.outlineType = 'rounded-white';
hs.captionEval = 'this.thumb.title';
// This value needs to be set to false, to solve the issue with the highly increasing view counts.
hs.continuePreloading = false;
// Add the slideshow providing the controlbar and the thumbstrip
hs.addSlideshow({
	interval: 5000,
	repeat: false,
	useControls: true,
	fixedControls: 'fit',
	overlayOptions: {
		opacity: .75,
		position: 'top center',
		hideOnMouseOut: true
	}
});
</script>
<script type="text/javascript">
function add_highslide(e, elements) {
/* Add highslide in phpBB3.1 && Anvar bb3.mobi */
   var scr_w = $(document).width();
   var scr_h = $(document).height();
   if (scr_w > 800 && scr_h > 600) {
      elements.find("dl.thumbnail a").addClass("highslide").attr("onclick", "return hs.expand(this)");
      // BBCode [img]highslide[/img]
      elements.find('.postimage').not('a .postimage').load(function () {
         $(this).removeAttr("width")
         $(this).removeAttr("height")
         $(this).css({ width: "", height: "" });
         var h = $(this).height();
         var w = $(this).width();
         var size = 420; // Img tag max width
         if (w > 200) { // Highslide > min width
            $images = $(this).attr("src");
            $(this).wrap('<a class="highslide" href="'+$images+'" onclick="return hs.expand(this)"></a>');
         }
         if (w > size || h > size) {
            if (w > h) {
               h = h*(size/w);
               w = size;
            } else {
               w = w*(size/h);
               h = size;
            }
            $(this).width(w);
            $(this).height(h);
         }
      });
      elements.find('.postimage').not('a .postimage').each(function () {
         var src = $(this).attr('src');
         $(this).attr('src', '');
         $(this).attr('src', src);
      });
      // External Links Fix
      elements.find('a.img-link').each(function () {
         $(this).attr("onclick", "return hs.expand(this)");
         this.href = this.href.replace('{BOARD_URL}url.php?', '');
      });
   }
}
$(document).ready(function (e) {
   add_highslide(e, $(document));
});
$('#qr_posts').on('qr_loaded', add_highslide);
</script>
<!-- ENDIF -->
- 
				romeo_piter
 - phpBB 2.0.22
 - Сообщения: 1375
 - Стаж: 16 лет 7 месяцев
 - Благодарил (а): 165 раз
 - Поблагодарили: 20 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
Не могу справиться с особенностью одного самописного расширения и включить его в условие SCRIPT_NAME
Насколько критично, если я включу подгрузку хайслайда на всех страницах форума, убрав это условие: <!-- IF S_VIEWTOPIC or S_IN_UCP or S_IN_POSTING -->
Это сильно плохо?
На 3.0 хайслайд у меня подключался просто в хидере безусловно. Проблем не было.
Но 3.1 ацки тяжеловесен, не хочется грузить главную.
			
			
									
						Насколько критично, если я включу подгрузку хайслайда на всех страницах форума, убрав это условие: <!-- IF S_VIEWTOPIC or S_IN_UCP or S_IN_POSTING -->
Это сильно плохо?
На 3.0 хайслайд у меня подключался просто в хидере безусловно. Проблем не было.
Но 3.1 ацки тяжеловесен, не хочется грузить главную.
- 
				Siava
														 - Поддержка

 - Сообщения: 5473
 - Стаж: 20 лет 9 месяцев
 - Откуда: Питер
 - Благодарил (а): 182 раза
 - Поблагодарили: 759 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
romeo_piter, примерно такой алгоритм на примере board3 portal:
/ext/board3/portal/controller/main.php
/ext/bb3mobi/highslide/styles/prosilver/template/event
А тащить лишние js и css на каждой странице ни к чему.
			
			
									
						/ext/board3/portal/controller/main.php
Код: Выделить всё
   protected function assign_template_vars()
   {
      $this->template->assign_vars(array(
         'S_PORTAL'               => true,
         ...Код: Выделить всё
<!-- IF S_VIEWTOPIC or S_IN_UCP or S_IN_POSTING or S_PORTAL -->Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
			
						Ты очистил кеш? © Sheer
https://siava.ru (phpbb
- 
				southklad
														 - phpBB 3.1.0 RC4
 - Сообщения: 3405
 - Стаж: 13 лет 9 месяцев
 - Благодарил (а): 698 раз
 - Поблагодарили: 171 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
 Анвар выявлена такая проблема связанная с расширением Неправильное отображение вложений
			
			
									
						- 
				Anvar
 - Former team member
 - Сообщения: 1965
 - Стаж: 15 лет 7 месяцев
 - Благодарил (а): 57 раз
 - Поблагодарили: 622 раза
 
Re: Highslide - Слайдер фото для phpBB3.1
Не обязательно было дублировать сообщение в личку, это только увеличит время отклика.
			
			
									
						- 
				southklad
														 - phpBB 3.1.0 RC4
 - Сообщения: 3405
 - Стаж: 13 лет 9 месяцев
 - Благодарил (а): 698 раз
 - Поблагодарили: 171 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
Я в личку о другом спрашивал, об ошибке в линейках у меня, ну и об этом заодно написал.
- 
				Sheer
														 - Former team member
 - Сообщения: 12113
 - Стаж: 18 лет 8 месяцев
 - Откуда: Калининград не Кенигсберг
 - Благодарил (а): 36 раз
 - Поблагодарили: 1526 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
igorbond, Напомнить?
			
			
									
						Правила, пункт: 4.6. Для личного общения с другими участниками конференции используйте e-mail, ЛС, ICQ и т.д. Приватные обращения, связанные с вопросами, консультациями и просьбами об оказании помощи по phpBB, членам команды конференции, если вас специально не приглашали к приватному общению, могут быть расценены получателем как спам с принятием соответствующих мер по наведению порядка.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
- 
				Monolith
														 - phpBB 1.2.0
 - Сообщения: 18
 - Стаж: 10 лет
 - Благодарил (а): 1 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
Простите, но из обсуждения так и не понял,какой код обрезает до миниатюр и какой файл править , как то конкретнее бы, да в 1 пост.
Хотя и тут от инфы последовательной не откажусь. Вы какие размеры миниатюр выставяете,если можно скрин из админки
			
			
									
						Хотя и тут от инфы последовательной не откажусь. Вы какие размеры миниатюр выставяете,если можно скрин из админки
phpBB 3.1.6
			
						- 
				Yukh
														 - phpBB 1.4.4
 - Сообщения: 153
 - Стаж: 13 лет 4 месяца
 - Откуда: Москва
 - Благодарил (а): 14 раз
 - Поблагодарили: 8 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
При открытии вложений в highslide в оверлее участвуют все вложения из всех сообщений на странице.
Можно ли сделать так, чтобы количество вложений в оверлее ограничивалось только теми вложениями, которые есть в конкретном сообщении?
			
			
									
						Можно ли сделать так, чтобы количество вложений в оверлее ограничивалось только теми вложениями, которые есть в конкретном сообщении?
Юрий.
			
						- 
				mike2003
														 - phpBB 2.0.5
 - Сообщения: 452
 - Стаж: 9 лет 7 месяцев
 - Благодарил (а): 25 раз
 - Поблагодарили: 7 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
скачал, поставил, вижу в списке "Extension Highslide"
а результата нет
что то еще надо?
я ведь правильно понял, что должно быть так как тут? ^^
- 
				KEMnEP
														 - phpBB 2.0.18
 - Сообщения: 1171
 - Стаж: 10 лет 7 месяцев
 - Благодарил (а): 46 раз
 - Поблагодарили: 293 раза
 
Re: Highslide - Слайдер фото для phpBB3.1
по умолчанию этот функционал выпилен из расширения, только собственно хронящиеся вложения открывает, всё остальное либо ручками допиливать, либо другим расширением
			
			
									
						- 
				mike2003
														 - phpBB 2.0.5
 - Сообщения: 452
 - Стаж: 9 лет 7 месяцев
 - Благодарил (а): 25 раз
 - Поблагодарили: 7 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
что значит 
Отправлено спустя 2 минуты 33 секунды:
а вот это сжимание

кто делает?
			
			
									
						?
Отправлено спустя 2 минуты 33 секунды:
а вот это сжимание
кто делает?
- 
				LavIgor
														 - Former team member
 - Сообщения: 3468
 - Стаж: 11 лет 6 месяцев
 - Благодарил (а): 39 раз
 - Поблагодарили: 792 раза
 
Re: Highslide - Слайдер фото для phpBB3.1
mike2003, попробуйте код отсюда, почти те же доработки, что и на этой конференции.
Странно, что GitHub всё ещё не обновлён.
			
			
									
						Странно, что GitHub всё ещё не обновлён.
- 
				KEMnEP
														 - phpBB 2.0.18
 - Сообщения: 1171
 - Стаж: 10 лет 7 месяцев
 - Благодарил (а): 46 раз
 - Поблагодарили: 293 раза
 
Re: Highslide - Слайдер фото для phpBB3.1
LavIgor, потому что имеет баг в фаерфоксе иногда, двойное открытие изображения в теги идж
Вот как сделал я
на без изменений эти правки нельзя вставлять в расширение, ибо писано для другой конфигурации хедслайда.
			
			
									
						Вот как сделал я
Код: Выделить всё
<!-- IF S_VIEWTOPIC or S_IN_UCP or S_IN_POSTING -->
<script type="text/javascript">
function add_highslide(e, elements) {
/* полная рк версия подхвата highslide с уменьшением */
   var scr_w = $(document).width();
   var scr_h = $(document).height();
   if (scr_w > 800 && scr_h > 600) {
   	  ;(function ($) {
    $.fn.bindImageLoad = function (callback) {
        function isImageLoaded(img) {
            // Во время события load IE и другие браузеры правильно
            // определяют состояние картинки через атрибут complete.
            // Исключение составляют Gecko-based браузеры.
            if (!img.complete) {
                return false;
            }
            // Тем не менее, у них есть два очень полезных свойства: naturalWidth и naturalHeight.
            // Они дают истинный размер изображения. Если какртинка еще не загрузилась,
            // то они должны быть равны нулю.
            if (typeof img.naturalWidth !== "undefined" && img.naturalWidth === 0) {
                return false;
            }
            // Картинка загружена.
            return true;
        }
        return this.each(function () {
            var ele = $(this);
            if (ele.is("img") && $.isFunction(callback)) {
                ele.one("load", callback);
                if (isImageLoaded(this)) {
                    ele.trigger("load");
                }
            }
        });
    };
})(jQuery);
      elements.find("dl.thumbnail a").addClass("highslide").attr("onclick", "return hs.expand(this, config1 )");
      // BBCode [img]highslide[/img]	  
      elements.find('.postimage').not('a.highslide .postimage').bindImageLoad(function () {
         $(this).removeAttr("width")
         $(this).removeAttr("height")
         $(this).css({ width: "", height: "" });
         var h = $(this).height();
         var w = $(this).width();
         var size = 420; // Img tag max width
		if (h > 200) { // Highslide > min height
            var i = $(this).attr("src");
            $(this).wrap('<a class="highslide" href="' +i+ '" onclick="return hs.expand(this, config1 )"></a>');
		}
         if (w > size || h > size) {
            if (w > h) {
               h = h*(size/w);
               w = size;
            } else {
               w = w*(size/h);
               h = size;
            }
            $(this).width(w);
            $(this).height(h);
         }
      });
	}
	else
	{
	elements.find("dl.thumbnail a").attr("target", "_blank");
	}
}
$(document).ready(function (e) {
   add_highslide(e, $(document));
});
$('#qr_posts').on('qr_completed', add_highslide);
$('#qr_postform').on('ajax_submit_preview', function (e) {
   add_highslide(e, $('#preview'));
});
</script>
<!-- ENDIF -->- 
				mike2003
														 - phpBB 2.0.5
 - Сообщения: 452
 - Стаж: 9 лет 7 месяцев
 - Благодарил (а): 25 раз
 - Поблагодарили: 7 раз
 
Re: Highslide - Слайдер фото для phpBB3.1
да, так заработало
а можно сделать ширину миниатюр одинаковой? ширину вообще можно настроить? а то никаких доков нет

