Пропустить

Скрытие/отображение пунктов профиля при просмотре темы

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Скрытие/отображение пунктов профиля при просмотре темы

Сообщение -=XaKeP=- » 07.08.2010 0:07

Не так давно в разделе "Рекрутинг" был оставлен заказ. Я пытался связаться с заказчиком, но он мне так и не ответил. Вот подумал, может кому пригодится.

Пример того, что получится в итоге.

Как такое сделать.
1) Скопировать в папку "images" 2 следующих изображения:
dopinfo_up.gif

dopinfo_down.gif

2) Скопировать файл "jQuery.js.txt" в папку "styles/prosilver/template".
jQuery.js.txt
(97.85 КБ) Скачиваний: 87

Не забудьте переименовать файл, убрав расширение txt.
3) Откройте файл "styles/prosilver/template/overall_header.html?quot;
4) Найдите там строку
<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>

После неё добавьте
<script type="text/javascript" src="{T_TEMPLATE_PATH}/jQuery.js"></script>

5) Откройте файл "styles/prosilver/template/viewtopic_body.html?quot;
Найдите строку
<!-- INCLUDE overall_header.html -->

6) После неё добавьте
<script language="javascript">
    $(document).ready(function(){
    
        //Отлавливаем нажатие на ВСЕХ картинках
        //При желании можно отфильтровать, чтобы не на абсолютно всех картинках, а внтури какого-нить блока
        $('img').click(function(e){
            //e - объект event
            var img = $(e.target);
            
            //нужный блок находится сразу за картинкой на одном уровне с ней
            //поэтому используем next()
            var div = img.parent().next('div#first');
			if(div.length > 0) {
				if (div.css('display') == 'none'){
					div.show('slow', function(){
					  img.attr('src', 'images/dopinfo_up.gif');
					});
				}
				else{
					div.hide('slow', function(){
					  img.attr('src', 'images/dopinfo_down.gif');
					});
				}
			}
        });
    });
</script>


Найдите
<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->

		<dd>&nbsp;</dd>


Добавьте после
<dd><img src="images/dopinfo_down.gif" id="toggleimg" /></dd>
<div id="first" style="display: none;">


Найдите
<!-- END custom_fields -->


Добавьте после

7) Обновите шаблон в админке и почистите кэш.

Инструкция для subsilver2

Может решение не идеальное, выслушаю любую критику.
Последний раз редактировалось -=XaKeP=- 07.08.2010 10:01, всего редактировалось 2 раз(а).
Лучше синица в руках, чем утка под кроватью ©
За это сообщение автора -=XaKeP=- поблагодарили: 3
Kostelano (07.08.2010 1:32), sash12 (12.02.2011 20:30), TyMaH (06.08.2011 4:58)
Аватара пользователя
-=XaKeP=-
phpBB 2.0.7
 
Сообщения: 299
Зарегистрирован: 15.12.2006 13:02
Откуда: Донецк
Благодарил (а): 5 раз.
Поблагодарили: 6 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение владимир1983 » 07.08.2010 0:14

А для subsilver2??? Очень надо.
Сдаюсь в аренду или временно поживу за счет заказчика
Аватара пользователя
владимир1983
Поддержка
Поддержка
 
Сообщения: 1823
Зарегистрирован: 27.04.2010 2:17
Откуда: Сергиев Посад
Благодарил (а): 70 раз.
Поблагодарили: 205 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение -=XaKeP=- » 07.08.2010 0:21

Сделаю завтра с утра. Сейчас уже засыпаю
Лучше синица в руках, чем утка под кроватью ©
Аватара пользователя
-=XaKeP=-
phpBB 2.0.7
 
Сообщения: 299
Зарегистрирован: 15.12.2006 13:02
Откуда: Донецк
Благодарил (а): 5 раз.
Поблагодарили: 6 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение владимир1983 » 07.08.2010 0:25

ок.
-=XaKeP=-
Спс. Пока кнопку перерисую)
Сдаюсь в аренду или временно поживу за счет заказчика
Аватара пользователя
владимир1983
Поддержка
Поддержка
 
Сообщения: 1823
Зарегистрирован: 27.04.2010 2:17
Откуда: Сергиев Посад
Благодарил (а): 70 раз.
Поблагодарили: 205 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение -=XaKeP=- » 07.08.2010 0:25

владимир1983
сели не жалко, выложите их потом здесь, может кому-то ваши больше понравятся
Лучше синица в руках, чем утка под кроватью ©
Аватара пользователя
-=XaKeP=-
phpBB 2.0.7
 
Сообщения: 299
Зарегистрирован: 15.12.2006 13:02
Откуда: Донецк
Благодарил (а): 5 раз.
Поблагодарили: 6 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение Nekstati » 07.08.2010 0:31

-=XaKeP=-, в оригинале этим занимается скрипт объёмом 0,5 КБ, а у вас 100 КБ. ;) Это не критика и я не против jQuery, но просто для сравнения: все штатные скрипты Просильвера в сумме весят 20 КБ…
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2571
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 772 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение владимир1983 » 07.08.2010 1:02

-=XaKeP=-
ок, но моя кнопка будет "моя", то есть она будет стилизованна под тематику форума, и вряд ли кому пригодится...
Nekstati
Если время-желание у Вас будет, помогите оптимизировать код), и под subsilver тоже)
Сдаюсь в аренду или временно поживу за счет заказчика
Аватара пользователя
владимир1983
Поддержка
Поддержка
 
Сообщения: 1823
Зарегистрирован: 27.04.2010 2:17
Откуда: Сергиев Посад
Благодарил (а): 70 раз.
Поблагодарили: 205 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение -=XaKeP=- » 07.08.2010 9:59

Инструкция для subsilver2

1) Скопируйте файлы изображений из первого сообщения темы по тому же адресу.
2) Скопируйте файл jQuery.js.txt из первого сообщения в папку "styles/subsilver2/template".
Переименуйте файл jQuery.js.txt в jQuery.js
3) Откройте файл "styles/subsilver2/template/overall_header.html?quot;, в нём после строчки
<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />

добавьте
<script type="text/javascript" src="{T_TEMPLATE_PATH}/jQuery.js"></script>

4) Откройте файл "styles/subsilver2/template/viewtopic_body.html?quot;
Найдите в нём строку
<!-- INCLUDE overall_header.html -->

После неё добавьте
<script language="javascript">
    $(document).ready(function(){
    
        //Отлавливаем нажатие на ВСЕХ картинках
        //При желании можно отфильтровать, чтобы не на абсолютно всех картинках, а внтури какого-нить блока
        $('img').click(function(e){
            //e - объект event
            var img = $(e.target);
            //нужный блок находится сразу за картинкой на одном уровне с ней
            //поэтому используем next()
            var div = img.parent().next('div#first');
			if(div.length > 0) {
				if (div.css('display') == 'none'){
					div.show('slow', function(){
					  img.attr('src', 'images/dopinfo_up.gif');
					});
				}
				else{
					div.hide('slow', function(){
					  img.attr('src', 'images/dopinfo_down.gif');
					});
				}
			}
        });
    });
</script>


Найдите
<span class="postdetails">

Добавьте перед
<span><img src="images/dopinfo_down.gif" id="toggleimg" /></span>
<div id="first" style="display: none;">

Найдите
<!-- END custom_fields -->
</span>


Добавьте после


И не забудьте очистить кэш и обновить шаблоны в админке.

PS Nekstati
Я использую jquery и на сайте, и на форуме. Кроме того, я сейчас пытаюсь доделать быстрый ответ, прикрутив к нему аякс. То есть я довольно плотно юзаю эту библиотеку, не только для таких простых вещей. Я выложил здесь "рецепт" как делал для себя.

Добавлено спустя 41 минуту 24 секунды:
Да, ещё! Если кто-то захочет изменить время сворачивания/разворачивания дива, то в строке
div.show('slow', function()

и
div.show('slow', function()

замените значение 'slow' на число миллисекунд, в течении которого будет происходить сворачивание/разворачивание дива.
Лучше синица в руках, чем утка под кроватью ©
За это сообщение автора -=XaKeP=- поблагодарил:
владимир1983 (07.08.2010 14:18)
Аватара пользователя
-=XaKeP=-
phpBB 2.0.7
 
Сообщения: 299
Зарегистрирован: 15.12.2006 13:02
Откуда: Донецк
Благодарил (а): 5 раз.
Поблагодарили: 6 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение владимир1983 » 07.08.2010 13:49

-=XaKeP=-
Спасибо Вам, всё работает. Единственное что код
<span class="postdetails">

у меня имеет два вхождения.
Первое в строке:
				<td class="gensmall" width="100%"><div style="float:{S_CONTENT_FLOW_BEGIN};">&nbsp;<b>{L_POST_SUBJECT}:</b> {postrow.POST_SUBJECT}</div><div style="float:{S_CONTENT_FLOW_END};"><!-- IF S_IS_BOT -->&nbsp;{postrow.MINI_POST_IMG}&nbsp;<!-- ELSE -->&nbsp;<span class="postdetails"><b>{postrow.MINI_POST_IMG} <a onclick="return link_to_post(this.href);" href="{postrow.U_MINI_POST}">#{postrow.POST_NUMBER}</a></b></span>&nbsp;

И второе +-1 строка:
<div id="first" style="display: none;">
			<span class="postdetails">
				<!-- IF postrow.POSTER_JOINED --><br /><b>{L_JOINED}:</b> {postrow.POSTER_JOINED}<!-- ENDIF -->

Ну это наверное из-за стиля, использую Milky Way на основе subsilver2
p.s иконки выложу как нарисую(светлые).
Сдаюсь в аренду или временно поживу за счет заказчика
Аватара пользователя
владимир1983
Поддержка
Поддержка
 
Сообщения: 1823
Зарегистрирован: 27.04.2010 2:17
Откуда: Сергиев Посад
Благодарил (а): 70 раз.
Поблагодарили: 205 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение -=XaKeP=- » 07.08.2010 13:56

владимир1983 писал(а):И второе +-1 строка:

Вы добавили туда, куда нужно :).
Лучше синица в руках, чем утка под кроватью ©
Аватара пользователя
-=XaKeP=-
phpBB 2.0.7
 
Сообщения: 299
Зарегистрирован: 15.12.2006 13:02
Откуда: Донецк
Благодарил (а): 5 раз.
Поблагодарили: 6 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение владимир1983 » 08.08.2010 0:01

-=XaKeP=-
Возможно допилить чтоб при наведении на иконку раскрытия курсор менялся на руку(в моём случае), то есть обозначал кликабельность изображения?
Сдаюсь в аренду или временно поживу за счет заказчика
Аватара пользователя
владимир1983
Поддержка
Поддержка
 
Сообщения: 1823
Зарегистрирован: 27.04.2010 2:17
Откуда: Сергиев Посад
Благодарил (а): 70 раз.
Поблагодарили: 205 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение -=XaKeP=- » 08.08.2010 0:09

можно
завтра утром выложу решение
Лучше синица в руках, чем утка под кроватью ©
Аватара пользователя
-=XaKeP=-
phpBB 2.0.7
 
Сообщения: 299
Зарегистрирован: 15.12.2006 13:02
Откуда: Донецк
Благодарил (а): 5 раз.
Поблагодарили: 6 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение владимир1983 » 08.08.2010 0:15

-=XaKeP=-
ок, ждёмс...
Светлые кнопки:
Вложения
dopinfo_up.gif
dopinfo_down.gif
Сдаюсь в аренду или временно поживу за счет заказчика
За это сообщение автора владимир1983 поблагодарили: 2
-=XaKeP=- (08.08.2010 0:27), Heldar (28.07.2011 13:04)
Аватара пользователя
владимир1983
Поддержка
Поддержка
 
Сообщения: 1823
Зарегистрирован: 27.04.2010 2:17
Откуда: Сергиев Посад
Благодарил (а): 70 раз.
Поблагодарили: 205 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение MIT » 08.08.2010 0:18

владимир1983
Добавь style="cursor:pointer" img`у, да и делов-то
Аватара пользователя
MIT
Поддержка
Поддержка
 
Сообщения: 2060
Зарегистрирован: 14.03.2009 18:52
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 16 раз.
Поблагодарили: 277 раз.

Re: Скрытие/отображение пунктов профиля при просмотре темы

Сообщение -=XaKeP=- » 08.08.2010 0:24

владимир1983
за кнопочки спасибо, если вы не против, я их у вас сопру))
Лучше синица в руках, чем утка под кроватью ©
Аватара пользователя
-=XaKeP=-
phpBB 2.0.7
 
Сообщения: 299
Зарегистрирован: 15.12.2006 13:02
Откуда: Донецк
Благодарил (а): 5 раз.
Поблагодарили: 6 раз.

След.

Вернуться в Стили для phpBB 3.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Изображение