Создаём новый вид "похожих тем" скрещивая расширения Topic Preview и Precise Similar Topics, для получения вывода превью темы в теле поста.
Данный вид похожих тем можно посмотреть на нашем форуме.

Изображение


Для реализации, собственно, нам понадобятся сами расширения следующих версий:


Precise Similar Topics - Похожие темы

Версия: 1.4.1
Требования: phpBB 3.1.x
Скачать расширение можно здесь

Изображение


Topic Preview - Предпросмотр тем

Версия: 2.2.4-dev
Требования: phpBB 3.1.2 и выше, phpBB 3.2.0
Скачать расширение можно здесь

Изображение


Скачать модификацию расширений:
similartopics-topicpreview.zip
5.95 КБ 165 скачиваний
Архив содержит изменения для нескольких файлов в обоих расширениях, поэтому просто копируем содержимое вложения в папку ext/vse и соглашаемся на замену.
Для ограничивания этого вида только для определённого стиля - меняем название стиля в папке styles в обоих расширениях.
Комментарии: 13

igorbond 14 фев 2017, 22:22 Сообщение

Спасибо, для CA Vintage жесть получилась. Можно как то поправить?

Изображение
  • 0
Последний раз редактировалось igorbond 14 фев 2017, 23:59, всего редактировалось 1 раз.
Изображение

romaamor 14 фев 2017, 23:54 Сообщение

А перевод ?
  • 0

CabinetAdmin 15 фев 2017, 16:32 Сообщение

А перевод родной, я не добавлял туда новые языковые переменные.
igorbond писал(а): Можно как то поправить?
Если речь про заголовок, то его можно подредактировать в .bstyle-similar h3 { - margin: 20px -20px; и text-indent: 40px;. -20px и 40px поменять на 0.
  • 0
Хочешь поблагодарить? Есть способы - Поддержать проект

igorbond 15 фев 2017, 20:51 Сообщение

Ну вроде немного настроил под себя. Но вот как у него с нагрузкой?
  • 0
Изображение

igorbond 15 фев 2017, 20:57 Сообщение

да и насчет кеша, какой лучше поставить?
  • 0
Изображение

CabinetAdmin 16 фев 2017, 15:40 Сообщение

У меня по нолям стоит.
igorbond писал(а): Но вот как у него с нагрузкой?
Я не знаю, никогда не "заморачивался" этим вопросом ни с одним расширением.
  • 1
Хочешь поблагодарить? Есть способы - Поддержать проект

igorbond 09 июн 2017, 17:29 Сообщение

А можно ли сделать сворачивание похожих тем с запоминанием?
  • 0
Изображение

CabinetAdmin 09 июн 2017, 17:49 Сообщение

Теоретически да.
  • 0
Хочешь поблагодарить? Есть способы - Поддержать проект

igorbond 09 июн 2017, 17:49 Сообщение

CabinetAdmin писал(а): Теоретически да.
Существенный вопрос, как? :drink:
  • 0
Изображение

CabinetAdmin 11 июн 2017, 15:39 Сообщение

У вас какое расширение для сворачивания форумов стоит? Можно будет либо скрипт у расширения чуть дополнить, либо эту структуру дополнять различными классами.
  • 0
Хочешь поблагодарить? Есть способы - Поддержать проект

igorbond 11 июн 2017, 15:56 Сообщение

CabinetAdmin, Collapse Categories Light
  • 0
Изображение

CabinetAdmin 12 июн 2017, 14:49 Сообщение

Примерно так получается.
Открываем vse/similartopics/styles/prosilver/template/similar_topics_31x.html и находим в нём:

Код: Выделить всё

<h3>{L_SIMILAR_TOPICS}</h3>
сразу после найденного вставляем:

Код: Выделить всё

<div class="bstyle-similar-list">
находим:

Код: Выделить всё

<!-- END similar -->
перед найденным вставляем: Открываем alecto/CollapseCategoriesLight/styles/all/template/event/overall_footer_after.html и меняем всё содержимое на:

Код: Выделить всё

<!-- IF S_INDEX or .similar -->

<!-- INCLUDEJS http://code.jquery.com/ui/1.10.3/jquery-ui.js -->
<script type="text/javascript">
// <![CDATA[

	var sh_i = -1;		// позиция в массиве
	var showhidden_triger = [];	// массив состояний категорий

	// создаем кнопки, загружаем и устанавливаем состояния категорий
	$(".topiclist.forums, .bstyle-similar .bstyle-similar-list").each(function () {
	    $(this).before(function () {
 		if ($(this).hasClass('forums') || $(this).hasClass('bstyle-similar-list')) {

			sh_i = sh_i + 1;
			var cat_id = 'cat_' + sh_i;	// формируем имя категории

			showhidden_triger[sh_i] = localStorage.getItem(cat_id); // загружаем состояние из локалхоста
			if (showhidden_triger[sh_i] == null) { showhidden_triger[sh_i] = 'true' };
                	if (showhidden_triger[sh_i] == 'false') {
				return '<div class="trigger inactive" cat="' + cat_id +'"></div>';
				} else {
				return '<div class="trigger active" cat="' + cat_id +'"></div>';
			}
		}
	    }).wrap('<div class="collapsethis" aria-hidden="false" />');
	});

	sh_i = 0;	// обнуляем позиции массива

	// создаем атрибуты, показываем/скрываем категории
	$(".collapsethis").each(function () {
		if (showhidden_triger[sh_i] == 'false') {
			$(this).attr('aria-hidden', 'true').hide();
			$(this).parents('div.forabg, .bstyle-similar').css('opacity', '0.3');
		}
		sh_i = sh_i + 1;
	});

	// отрабатываем клики показать/скрыть категорию
	$('.trigger').click(function () {
		var showhidden_triger_this = $(this).next().attr('aria-hidden');
		if (showhidden_triger_this == "false") {
			$(this).next().attr('aria-hidden', 'true').slideUp(500, 'easeInQuart', function() {
				$(this).parents('div.forabg, .bstyle-similar').animate({
					opacity: '0.3'
					}, 1000)
				});
			$(this).removeClass('active').addClass('inactive');
		} else {
            		$(this).parents('div.forabg, .bstyle-similar').animate({
               			 	opacity: '1.0'
            			}, 50, function() {
                			$('.trigger', this).next().attr('aria-hidden', 'false').slideDown(250, 'easeOutQuad')
            		});
 
			$(this).removeClass('inactive').addClass('active');
        	}
		localStorage.setItem($(this).attr('cat'), showhidden_triger_this);	// сохраняем
	});

	$('div.forabg, .bstyle-similar').on('mouseenter mouseleave', '.trigger.inactive', function(event) {
		var time = 200, opacity = event.type == 'mouseenter' ?  '1.0' : (time = 0,'0.3');
		$(event.delegateTarget).stop(true).delay(time).animate({ opacity: opacity }, 300)
	})

// ]]>
</script>

<!-- ENDIF -->
Открываем alecto/CollapseCategoriesLight/styles/all/template/event/overall_header_head_append.html, находим:

Код: Выделить всё

<!-- IF S_INDEX -->
и меняем на:

Код: Выделить всё

<!-- IF S_INDEX or .similar -->
Открываем alecto/CollapseCategoriesLight/styles/all/theme/collapse.css находим:

Код: Выделить всё

@media screen and (max-width: 700px) {
и добавляем перед:

Код: Выделить всё

.bstyle-similar .trigger {
	margin-top: -62px;
}
значение можно подправить под себя.
  • 1
Хочешь поблагодарить? Есть способы - Поддержать проект

igorbond 17 июн 2017, 21:37 Сообщение

спасибо :drink:
  • 0
Изображение

Похожие темы