Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

Звезды за сообщения

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 6 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: Звезды за сообщения

Сообщение Anvar »

apollion, А зря, красиво получилось.
screen1.png
screen2.png
В viewtopic_body.html
Ищем

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

<!-- IF postrow.POSTER_POSTS != '' --><br /><b>{L_POSTS}:</b> {postrow.POSTER_POSTS}<!-- ENDIF -->
Заменяем на

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

<!-- IF postrow.POSTER_POSTS != '' --><div class="pa-posts"><b>{L_POSTS}:</b> {postrow.POSTER_POSTS}</div><!-- ENDIF -->
В prosilver div заменяем на dd и b на strong

В самом низу до <!-- INCLUDE overall_footer.html -->
Добавляем

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

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
	var MyZwzd=[
	"{T_THEME_PATH}/images/stars/3.png",3,
	"{T_THEME_PATH}/images/stars/10.png",10,
	"{T_THEME_PATH}/images/stars/20.png",20,
	"{T_THEME_PATH}/images/stars/50.png",50,
	"{T_THEME_PATH}/images/stars/100.png",100,
	"{T_THEME_PATH}/images/stars/300.png",300,
	"{T_THEME_PATH}/images/stars/500.png",500,
	"{T_THEME_PATH}/images/stars/1000.png",1000,
	"{T_THEME_PATH}/images/stars/2000.png",2000,
	"{T_THEME_PATH}/images/stars/3000.png",3000,
	"{T_THEME_PATH}/images/stars/5000.png",5000,
	"End"];

	$(".pa-posts").each(function () {
		var zw = 0;
			zw = $(this).html().replace('<b>{L_POSTS}:</b> ', ''); // prosilver tag - strong
			zw = Math.floor(zw),ZWleng = MyZwzd.length-2;
		if (zw >= MyZwzd[1]) {
			var L1 = [],
				L2 = [],
				a = false;
			for(i = 0; i < ZWleng; i += 2) {
				j = ZWleng - i;
				L1[i/2] = Math.floor(zw/MyZwzd[j]);
				if (L1[i/2] > 0) {
					a = true;
				};
				L2[i/2] = MyZwzd[j-1];
				zw = zw - MyZwzd[j] * L1[i/2];
			}
			if (a) {
				$(this).after('<div class="pa-zwezda"></div>'); // prosilver tag - dd
				for(var i = 0; i < L1.length; i++) {
					if (L1[i] > 0) {
						var zwzdaImg = '<img src="'+L2[i]+'" title="{L_POSTS}: '+MyZwzd[ZWleng-i*2]+'" alt="" />';
						for(var x = 0; x < L1[i]; x++) {
							$(this).siblings('.pa-zwezda').append(zwzdaImg);
						}
					}
				}
			}
		};
	});
</script>
И про иконки не забываем в styles/name_style/theme/images/stars..

У меня не заработал .children() Звезды за сообщения
По этому пришлось обойтись без него.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Anvar 19.10.2014 2:51, всего редактировалось 1 раз.
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Аватара пользователя
apollion
phpBB 2.0.22
Сообщения: 1397
Стаж: 12 лет 7 месяцев
Откуда: Юг Руси
Благодарил (а): 50 раз
Поблагодарили: 100 раз

Re: Звезды за сообщения

Сообщение apollion »

Красиво конечно. Но в Subsilver2 не работает. 4 раза принимался уже править файлы. Начиная от самого первого варианта от Татьяна5.
Появляется пустая строка причем под надписью о количестве сообщений - где она совсем некстати, имхо лучше под\над аватаром.

Мне кажется, что для subsilver2 код другой. В общем, пока надоело с ним возиться.

Если кому-то нужны другие варианты звезд - 9 разных звезд во вложении. Может кому пригодится.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
romaamor
phpBB 3.0.7-PL1
Сообщения: 2517
Стаж: 14 лет 6 месяцев
Откуда: Одесса
Благодарил (а): 829 раз
Поблагодарили: 214 раз

Re: Звезды за сообщения

Сообщение romaamor »

apollion писал(а):Перерыл поиском здесь всё - аналогичного мода не нашел.
Как по мне это всё напоминает мод управление званиями. Или я ошибаюсь ?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Звезды за сообщения

Сообщение Sheer »

apollion
Код для subsilver2 отAnvar полностью рабочий.
Итак еще раз.
Открыть viewtopic_body.html
Найти

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

					<!-- IF postrow.POSTER_POSTS != '' --><br /><b>{L_POSTS}:</b> {postrow.POSTER_POSTS}<!-- ENDIF -->
Заменить на

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

					<!-- IF postrow.POSTER_POSTS != '' --><div class="pa-posts"><b>{L_POSTS}:</b> {postrow.POSTER_POSTS}</div><!-- ENDIF -->
Найти

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

<!-- INCLUDE overall_footer.html -->
Добавить перед

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

<!-- IF S_VIEWTOPIC -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
	var MyZwzd=[
	"{T_THEME_PATH}/images/stars/3.png",3,
	"{T_THEME_PATH}/images/stars/10.png",10,
	"{T_THEME_PATH}/images/stars/20.png",20,
	"{T_THEME_PATH}/images/stars/50.png",50,
	"{T_THEME_PATH}/images/stars/100.png",100,
	"{T_THEME_PATH}/images/stars/300.png",300,
	"{T_THEME_PATH}/images/stars/500.png",500,
	"{T_THEME_PATH}/images/stars/1000.png",1000,
	"{T_THEME_PATH}/images/stars/2000.png",2000,
	"{T_THEME_PATH}/images/stars/3000.png",3000,
	"{T_THEME_PATH}/images/stars/5000.png",5000,
	"End"];

	$(".pa-posts").each(function () {
		var zw = 0;
			zw = $(this).html().replace('<b>{L_POSTS}:</b> ', ''); // prosilver tag - strong
			zw = Math.floor(zw),ZWleng = MyZwzd.length-2;
		if (zw >= MyZwzd[1]) {
			var L1 = [],
				L2 = [],
				a = false;
			for(i = 0; i < ZWleng; i += 2) {
				j = ZWleng - i;
				L1[i/2] = Math.floor(zw/MyZwzd[j]);
				if (L1[i/2] > 0) {
					a = true;
				};
				L2[i/2] = MyZwzd[j-1];
				zw = zw - MyZwzd[j] * L1[i/2];
			}
			if (a) {
				$(this).after('<div class="pa-zwezda"></div>'); // prosilver tag - dd
				for(var i = 0; i < L1.length; i++) {
					if (L1[i] > 0) {
						var zwzdaImg = '<img src="'+L2[i]+'" title="{L_POSTS}: '+MyZwzd[ZWleng-i*2]+'" alt="" />';
						for(var x = 0; x < L1[i]; x++) {
							$(this).siblings('.pa-zwezda').append(zwzdaImg);
						}
					}
				}
			}
		};
	});
</script>
<!-- ENDIF -->
Не забыть скопировать папку stars из приложенного архива в styles/subsilver2/theme/images и очистить кеш.
Финита!
starsforposts.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 6 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: Звезды за сообщения

Сообщение Anvar »

romaamor, Нет, это совсем другое. Что-то похоже на медали за определённое количество сообщений.

Например 1223 сообщений, это две звезды за 500 и две за 100, одна за 20 и одна за 3 сообщения = 6 звёздочек, которые имеют разный цвет.

apollion, Что-бы разместить в любом желаемом месте, но в общем родительском блоке, необходимо удалить:
$(this).after('<div class="pa-zwezda"></div>'); и добавить <div class="pa-zwezda"></div> в любое место, в общем блоке.

Используемый стиль не влияет, проблема может возникнуть только в том, что код:

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

<!-- IF postrow.POSTER_POSTS != '' --><div class="pa-posts"><b>{L_POSTS}:</b> {postrow.POSTER_POSTS}</div><!-- ENDIF -->
должен быть строго в таком порядке, правильно расставленные пробелы и не иметь лишних тегов. Если у вас свой способ оформления, то необходимо подстроить js.

Открыть overall_header.html я не выполнял, только использовал иконки нужного размера.
Аватара пользователя
apollion
phpBB 2.0.22
Сообщения: 1397
Стаж: 12 лет 7 месяцев
Откуда: Юг Руси
Благодарил (а): 50 раз
Поблагодарили: 100 раз

Re: Звезды за сообщения

Сообщение apollion »

Sheer писал(а):apollion
Код для subsilver2 отAnvar полностью рабочий.
Итак еще раз.
Спасибо завтра попробую. Сегодня доделаю цвета для мобильного стиля artodia.
Anvar писал(а):Если у вас свой способ оформления, то необходимо подстроить js.
У меня subsilber2 оригинальный. Оформлений других, которые бы нравились не нашел, prosilver есть, но он деактивирован.
romaamor писал(а):Как по мне это всё напоминает мод управление званиями. Или я ошибаюсь ?
Нет. На майббшном форуме - это звезды за количество сообщений. А Звания, (кстати они у меня автоматом за кол-во сообщений почему-то не присваиваются, а только вручную каждому юзеру), назначаются юзеру автоматом или вручную, но не меняются прямо-таки с каждым сообщением. Отличие этого от Званий - главное, что сделать что-то похожее для званий - пришлось бы делать кучу дополнительных полей и кучу дополнительных строк в БД. Это геморройно. А тут поставил скрипт и вуаля.

Мой знакомый не мог его переделать - так как думал, что на стороне сервера майбб - есть серверное приложение, которое обрабатывает данные.

Надо будет звезды еще уменьшить - достаточно 16х16 в PNG-8 бит.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Звезды за сообщения

Сообщение Sheer »

apollion писал(а):думал, что на стороне сервера майбб - есть серверное приложение, которое обрабатывает данные.
Фу, глупость какая несусветная! Все что нужно было добавить по существу - это подключить библиотеку jQwery

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

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
В приведенном вами коде это подключение отсутствует, так как в MyBB подключается где-то ранее.
Кстати сам jquery-1.11.1.min.js лучше скачать по указанному адресу, хранить его где-нибудь в папке styles/template и подключать его оттуда:

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

<script type="text/javascript" src="{T_SUPER_TEMPLATE_PATH}/jquery-1.11.1.min.js"></script>
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
apollion
phpBB 2.0.22
Сообщения: 1397
Стаж: 12 лет 7 месяцев
Откуда: Юг Руси
Благодарил (а): 50 раз
Поблагодарили: 100 раз

Re: Звезды за сообщения

Сообщение apollion »

Anvar, Sheer - спасибо вам!

Спасибо, все получилось! Звезды появились. Перенес их под аватар с места Сообщения: .... Теперь бы узнать как убрать пустую строку, где они были, чтобы опять строки были как раньше - без пропусков.

Вот это пустое пространство по стрелке на скрине:

Изображение
Sheer писал(а):Кстати сам jquery-1.11.1.min.js лучше скачать по указанному адресу, хранить его где-нибудь в папке styles/template и подключать его оттуда:
Так и сделал. Спасибо за подсказку. Конечно, будет лучше если скрипт будет лежать на моем сервере.
Аватара пользователя
angst66
phpBB 3.0.0 RC3
Сообщения: 1587
Стаж: 14 лет 9 месяцев
Благодарил (а): 90 раз
Поблагодарили: 165 раз

Re: Звезды за сообщения

Сообщение angst66 »

apollion В отладчике типа файрбаг это находится на счет три
Аватара пользователя
apollion
phpBB 2.0.22
Сообщения: 1397
Стаж: 12 лет 7 месяцев
Откуда: Юг Руси
Благодарил (а): 50 раз
Поблагодарили: 100 раз

Re: Звезды за сообщения

Сообщение apollion »

angst66 У меня в Firefox 27 - встроен отладчик. Он показывает, что после счетчика сообщений идут <br><br> перед "Откуда...".

В viewtopic_body этих <br><br> в том месте нет. Завтра на свежую голову покопаю еще. Хотя это мелочи, по сравнению с тем, что поставил себе скрипт звезд. :)
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Звезды за сообщения

Сообщение Пчелкин »

Татьяна5 писал(а):Для стандартного prosilver
Толи лыжи не едут... толи.. короч не появляются чего-то...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 6 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: Звезды за сообщения

Сообщение Anvar »

Пчелкин, У меня тоже не заработал, стал проверять на каком этапе, обнаружил что не работает .children(). Может быть версия jquery требуется другая или дополнения, не стал париться, изменил метод.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Звезды за сообщения

Сообщение Пчелкин »

Квери перебрал все... Как дурак накачал в стиль все что есть... Дело в том что при квери выше 1.10.2.min еще и быстрая правка не работает... Что-то в последних версиях они там намудрили...
Тож плюнул... Хотел автобарыгам втулить, а ну их, звезды... Хотя, конечно, симпатишно выходит...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Звезды за сообщения

Сообщение Пчелкин »

Спасибо Татьяна5 !!! Я сам балдес.... С тегами в виеве напартачил...

Добавлено спустя 2 минуты 57 секунд:
О! И последняя квери в быстрой правке заработала... Абалдеть!!!
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 4 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: Звезды за сообщения

Сообщение ВладимирТ »

Пошло "звездное" дело :D
Целый день крепился ....... и поставил в 3.1
Звезда-3.1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
На вкус и цвет - разный CSS

Вернуться в «Запросы модов для phpBB 3.0.x»