Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как добавить колонку "АВТОР"

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Rembo
phpBB 1.2.0
Сообщения: 12
Стаж: 17 лет 6 месяцев
Откуда: Рига - русский город
Поблагодарили: 2 раза
Контактная информация:

Как добавить колонку "АВТОР"

Сообщение Rembo »

Всем привет.
Для версии форума 3.0 была опубликована статья Add an "Author" column to Prosilver позволяющая добавить удобную для меня колонку АВТОР.
Код применяемый в форуме версии 3.2 похож на приведённый в статье, однако изменения будут выглядеть иначе.
Последний раз редактировалось Rembo 12.02.2017 16:38, всего редактировалось 2 раза.
Аватара пользователя
Rembo
phpBB 1.2.0
Сообщения: 12
Стаж: 17 лет 6 месяцев
Откуда: Рига - русский город
Поблагодарили: 2 раза
Контактная информация:

Re: Как добавить колонку "АВТОР"

Сообщение Rembo »

Если ширина колонки АВТОР в 95 пикселей вас удовлетворит, то следующие изменения приведут к нужному результату.
Открываем текстовым редактором файл: /styles/prosilver/theme/content.css
=================Находим строку:

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

dd.posts, dd.topics, dd.views, dd.extra, dd.mark {
Заменяем её на строку:

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

dd.author, dd.posts, dd.topics, dd.views, dd.extra, dd.mark {
=================Находим строку:

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

dd.posts, dd.topics, dd.views {
Заменяем её на строку:

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

dd.author, dd.posts, dd.topics, dd.views {
=================Находим секцию:

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

dd.lastpost, dd.redirect, dd.moderation, dd.time, dd.info {
	width: 250px;
	font-size: 1.1em;
}
Под ней добавляем новую секцию:

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

dd.lastpost2 {
	width: 155px;
	font-size: 1.1em;
}
=================Находим строку:

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

dd.lastpost > span, ul.topiclist dd.info > span, ul.topiclist dd.time > span, dd.redirect > span, dd.moderation > span {
Заменяем её на строку:

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

dd.lastpost2 > span, dd.lastpost > span, ul.topiclist dd.info > span, ul.topiclist dd.time > span, dd.redirect > span, dd.moderation > span {
Сохраняем изменения.
Открываем текстовым редактором файл: /styles/prosilver/template/viewforum_body.html
=================Находим строку:

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

<dd class="posts">{L_REPLIES}</dd>
Добавляем перед ней строку:

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

<dd class="author">{L_AUTHOR}</dd>
=================Находим строку:

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

<dd class="lastpost"><span>{L_LAST_POST}</span></dd>
меняем на строку:

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

<dd class="lastpost2"><span>{L_LAST_POST}</span></dd>
=================Находим строку:

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

{L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
меняем на строку:

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

{L_POSTED} &raquo; {topicrow.FIRST_POST_TIME}
=================Находим строку:

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

<dd class="posts">{topicrow.REPLIES} <dfn>{L_REPLIES}</dfn></dd>
Добавляем перед ней строку:

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

<dd class="author">{topicrow.TOPIC_AUTHOR_FULL} <dfn>{L_AUTHOR}</dfn></dd>
=================Находим строку:

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

<dd class="lastpost">
меняем на строку:

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

<dd class="lastpost2">
Сохраняем изменения.
Перед тем как зайти на страницу, чтобы увидеть изменения, обязательно очистить кэш!
Проще всего удалить всё содержимое папки cache/production/
Для тех кто любит редактировать блокнотом в системе виндоус, рекомендую перед редактированием файлов добавить байты Cerriage Return в переносы строк с помощью программки LineFeed.
Запустите программку, и просто перетащите на появившееся окошко файл. В открывшемся диалоге нажмите кнопку Insert CR.
Ежели необходимо обратное действие - кнопка Delete CR.
Перенесено из форума Поддержка phpBB 3.2.x в форум Стили для phpBB 3.2.x 08.02.2017 1:11 модератором Sheer

Аватара пользователя
Rembo
phpBB 1.2.0
Сообщения: 12
Стаж: 17 лет 6 месяцев
Откуда: Рига - русский город
Поблагодарили: 2 раза
Контактная информация:

Re: Как добавить колонку "АВТОР"

Сообщение Rembo »

По сути дела, в предыдущем примере мы добавили колонку АВТОР в 95 пикселей всего лишь за счёт уменьшения ненужной в этом окне ширины последней колонки ПОСЛЕДНЕЕ СООБЩЕНИЕ с 255 пикселей до 160 пикселей, не затрагивая ничего лишнего.
Для тех же кто желает сделать ширину колонки АВТОР более 95 пикселей, придётся вспомнить арифметику.
Три правых колонки - ОТВЕТЫ, ПРОСМОТРЫ и ПОСЛЕДНЕЕ СООБЩЕНИЕ
имеют ширину в пикселях соответственно - 95px, 95px, 250px и если их сложить, получим 440px,
запомним это число, все значения переменных равные 440px - есть выделенное для этих колонок пространство.
Теперь допустим, мы хотим добавить колонку АВТОР шириной 120px, а поле ПОСЛЕДНЕЕ СООБЩЕНИЕ сделать 160px.
Для этого, в файле styles\prosilver\theme\content.css
1 -----------------------------------------------собственно добавляем переменную и указываем ширину колонки для неё 120px:------------------------ 1

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

dd.author {
	width: 120px;
	text-align: center;
	line-height: 2.2em;
	font-size: 1.2em;
}
2 -----------------------------------------------добавляем переменную для укороченной колонки ПОСЛЕДНЕЕ СООБЩЕНИЕ длинной 160px------------ 2

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

dd.lastpost2 {
	width: 160px;
	font-size: 1.1em;
}
3 -----------------------------------------------добавляем переменную dd.lastpost2 к описанию в строке-------------------------------------------- 3

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

dd.lastpost2 > span, 
dd.lastpost > span, ul.topiclist dd.info > span, ul.topiclist dd.time > span, dd.redirect > span, dd.moderation > span {
теперь займёмся расчётами...
четыре колонки - АВТОР, ОТВЕТЫ, ПРОСМОТРЫ, ПОСЛЕДНЕЕ СООБЩЕНИЕ
будут иметь размеры - 120px, 95px, 95px, 160px, сложив получаем 470px, то есть, сумма увеличилась на 30 пикселей.
находим все значения переменных равные 440px обозначающих свободное пространство справа, и меняем их на 470px
Изменения нужно сделать в четырёх секциях:
4 ---------------------------для поля топика------------------------------------------------------------------------------------------------ 4

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

ul.topiclist dt {
	width: 100%;
	margin-right: -470px;
	font-size: 1.1em;
}
5 ------------------------------------------------------------------------------------------------------------------------------------------------ 5

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

ul.topiclist dt .list-inner {
	margin-right: 470px;
	padding-left: 5px;
	padding-right: 5px;
}
6 ----------------------------для заголовка таблицы---------------------------------------------------------------------------------------- 6

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

i.header dt {
	font-weight: bold;
	width: 100%;
	margin-right: -470px;
}
7 ------------------------------------------------------------------------------------------------------------------------------------------------ 7

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

li.header dt .list-inner {
	margin-right: 470px;
}
При этом следует учитывать то обстоятельство, что выделяя больше места для колонок справа в одном окне, это приводит к увеличению места для колонок справа и в другом окне - в окне с колонками ТЕМЫ, СООБЩЕНИЯ и ПОСЛЕДНЕЕ СООБЩЕНИЕ, в результате чего ширина последней сама по себе визуально увеличится на те же 30 пикселей, и правильней будет действительно его увеличить:
8 -----------------меняем значение переменной для колонки ПОСЛЕДНЕЕ СООБЩЕНИЕ делая её длину 280px------------ 8

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

dd.lastpost, dd.redirect, dd.moderation, dd.time, dd.info {
	width: 280px;
	font-size: 1.1em;
}
Вот собственно все изменения в файле styles\prosilver\theme\content.css

Но это ещё не всё...
Поскольку изменилась ширина колонки ПОСЛЕДНЕЕ СООБЩЕНИЕ в окне, в котором нет колонки АВТОР, будет красивее и правильнее увеличить длину отображаемой и предварительно обрезаемой строки с 30 до 35 или 36 символов - можно поиграться и проверить на длинных заголовках чтобы текст вмещался в одну строчку по максимуму и не переносился на вторую.
Для этого редактируем строку в файле includes\functions_display.php

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

$last_post_subject_truncated = truncate_string($last_post_subject, 36, 255, false, $user->lang['ELLIPSIS']);
В файле viewforum_body.html делаем изменения уже описанные для варианта с шириной колонки АВТОР в 95 пикселей...

Сохраняем изменения, очищаем кэш и проверяем...
Аватара пользователя
lelasarov
phpBB 1.4.2
Сообщения: 59
Стаж: 7 лет 1 месяц
Благодарил (а): 2 раза
Контактная информация:

Re: Как добавить колонку "АВТОР"

Сообщение lelasarov »

Доброе время суток! Может обращаюсь немного не по теме, но по аналогии. Подскажите как сделать так, чтобы было как на рисунке при создании нового сообщения, но чтобы это было не во всех форумах, а только в определенных? И чтобы вводимое в поле цена выделялось жирным шрифтом.
Вложения
Безымянный.gif
Ответить

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