Меняем ориентацию профиля в prosilver [3.x]

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Wapik
phpBB 1.0.0
Сообщения: 6
Стаж: 10 лет 11 месяцев
Поблагодарили: 4 раза

Меняем ориентацию профиля в prosilver [3.x]

Сообщение Wapik »

При установке phpBB меня,как,наверное,и многих, смутило расположение профилей слева. Google привел меня на статью сайта phpbbguru.net,где подробно был описан весь процесс. Залез в макет, я осознал - их статья актуальна местами для устаревших версий движка. Поэтому я решил нереписать их код под новую версию.

Часть данного кода взята с официального сайта русской поддержки phpBB

Шаг первый. CSS стили.
Для начала нам необходимо переместить блоки в нужном порядке. Заходим через FTP в папку /styles/prosilver/theme/ и открываем файл content.css. Здесь нам необходимо поменять ориентацию блоков и перенести границы.
В файле ищем след. участок кода:

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

.postbody {
	padding: 0;
	line-height: 1.48em;
	color: #333333;
	width: 76%;
	float: left;
	clear: both;
}
Нам необходимо заменить float: left на float: right. Должно выйти так:

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

.postbody {
	padding: 0;
	line-height: 1.48em;
	color: #333333;
	width: 76%;
	float: right;
	clear: both;
}
Здесь мы поменяли ориентацию блока с сообщением. Теперь в этом же файле ищем след, участок кода:

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

.postprofile {
	/* Also see tweaks.css */
	margin: 5px 0 10px 0;
	min-height: 80px;
	color: #666666;
	border: 1px solid transparent;
	border-width: 0px 0px 0px 1px;
	width: 22%;
	float: right;
      	display: inline;
}
Этот участок кода отвечает за блок с профилем пользователя. В нем нам необходимо заменить уже больше значений,а именно:
float: right заменить на float: left и строки

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

border: 1px solid transparent;
border-width: 0px 0px 0px 1px;
Заменить на:

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

border: 0px;
border-right: 1px solid transparent;
В результате у нас должна выйти следующая кракозябра:

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

.postprofile {
	/* Also see tweaks.css */
	margin: 5px 0 10px 0;
	min-height: 80px;
	color: #666666;
	border: 0px;
	border-right: 1px solid transparent;
	width: 22%;
	float: left;
      	display: inline;
}
На этом мы можем сохранять наш CSS файл,он нам больше не понадобится.Теперь в этой же папки палим файл colours.css и открываем для редактирования его. В нем нам нужнен такой код:

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

.online {
	background-image: url("{T_IMAGESET_LANG_PATH}/icon_user_online.gif");
}
Нашли? Отлично, теперь целиком выделяем этот участок и заместо него вставляем следующее:

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

.online {
	background-image: url("{T_IMAGESET_LANG_PATH}/icon_user_online.gif");
	margin-top: -5px;
}

.online dt {
	margin-top: 5px;
}
Сохраняем. На этом 1й этап - CSS стили - подходит к концу,и мы переходим к редактированию моделей.

Шаг второй. Модели шаблона.
Заходим в папку /styles/prosilver/template/ и находим файл viewtopic_body.html. Открываем его и ищем такой участок кода:

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

<div id="p{postrow.POST_ID}" class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF postrow.S_ONLINE --> online<!-- ENDIF -->">
Выделяем ее и заменяем на:

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

<div id="p{postrow.POST_ID}" class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF -->">
Для особо любопытных - мы вырезали из блока с сообщением отображение Online статуса пользователя,иначе бы под текстом у нас в фоне шло "В СЕТИ". А за отображение этого у нас отвечало:

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

<!-- IF postrow.S_ONLINE --> online<!-- ENDIF -->
Далее в этом же файле нам нужно переместить отображение Online статуса на его законное место - в блок с информацией об авторе поста.
Ищем строки:

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

<dl class="postprofile" id="profile{postrow.POST_ID}">
Ее нам необходимо заменить на следующую:

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

<dl class="postprofile<!-- IF postrow.S_ONLINE --> online<!-- ENDIF -->" id="profile{postrow.POST_ID}">
На этом мы перестаем мучать эту модель и сохраняем ее. Мы произвели выравнивание профиля по левой стороне в форуме. В той же папке ищем файл с моделью личного сообщения (да-да,его тоже нужно выровнять...). Файл носит гордое имя ucp_viewmessage.html. Открываем теперь его.
В нем нам нужно найти такую строку:

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

<div id="post-{MESSAGE_ID}" class="post pm<!-- IF S_POST_UNAPPROVED or S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF S_ONLINE --> online<!-- ENDIF -->">
И заменить ее на эту:

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

<div id="post-{MESSAGE_ID}" class="post pm<!-- IF S_POST_UNAPPROVED or S_POST_REPORTED --> reported<!-- ENDIF -->">
Умные уже догнали,что мы сделали,а красивые уже заменили код.
Далее ищем такую плюшку (в этом же файле):

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

<dl class="postprofile" id="profile{MESSAGE_ID}">
И нуэно поменять ее на это:

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

<dl class="postprofile<!-- IF S_ONLINE --> online<!-- ENDIF -->" id="profile{MESSAGE_ID}">
Вот и все. Сохраняем модель.

Теперь Вам осталось только живым добраться до админки и очистить кэш движка.

P.S. Перед изменением я бы посоветовал сделать бэкап изменяемых файлов.

P.P.S. Первый раз пишу статью для этого движка,поэтому сильно не пинайте. :D

Всем удачи! :ugeek:
Перенесено из форума Поддержка phpBB 3.1.x в форум Стили для phpBB 3.1.x 22.11.2015 18:06 модератором Anvar

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13178
Стаж: 15 лет 2 месяца
Благодарил (а): 236 раз
Поблагодарили: 3754 раза

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение Татьяна5 »

[dev] Profile side switcher - Минипрофили слева - практически то же самое без правок кода
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17317
Стаж: 20 лет 5 месяцев
Откуда: Красноярск
Благодарил (а): 634 раза
Поблагодарили: 2418 раз

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение rxu »

Wapik, спасибо за труды, и в phpBB 3.1 код можно не править, помогают расширения, например указанное выше Татьяной ;)
Изображение
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 6 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение Anvar »

Если создавать свой стиль (Создание своего стиля для phpbb 3.1.x с наследованием от prosilver), то возможно и есть смысл менять местоположение минипрофилей без использования расширения.
Аватара пользователя
Sumanai
phpBB 3.0.0 RC5
Сообщения: 1668
Стаж: 11 лет 11 месяцев
Благодарил (а): 267 раз
Поблагодарили: 216 раз

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение Sumanai »

Anvar писал(а): то возможно и есть смысл менять местоположение минипрофилей без использования расширения.
Нету- оно будет мешать расширению [dev] Profile side switcher - Минипрофили слева , а его лучше ставить- вдруг кому то справа по нраву.
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 6 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение Anvar »

На phpbb.com есть стили левосторонние и об конфликтах с расширениями даже не думают.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13178
Стаж: 15 лет 2 месяца
Благодарил (а): 236 раз
Поблагодарили: 3754 раза

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение Татьяна5 »

Можно создать папку для левостороннего стиля в расширении, поправить чуть js и css для переключения направо, и никаких конфликтов не будет (останется разве что путаница в надписях, но это некритично)
Аватара пользователя
Casper12
phpBB 1.4.3
Сообщения: 89
Стаж: 10 лет 9 месяцев
Откуда: Калининград
Благодарил (а): 10 раз
Поблагодарили: 1 раз

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение Casper12 »

почему в стандартном стиле нету значка offline ???
Аватара пользователя
Sumanai
phpBB 3.0.0 RC5
Сообщения: 1668
Стаж: 11 лет 11 месяцев
Благодарил (а): 267 раз
Поблагодарили: 216 раз

Re: Меняем ориентацию профиля в prosilver [3.x]

Сообщение Sumanai »

Casper12, потому что он не нужен.

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