Вопрос на засыпку))

Список разделов phpBBex 1.x (поддерживается) Поддержка 1.x

Описание: У вас проблемы с phpBBex 1.x и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Модератор: Поддержка

Сообщение #1 vbnm » 20.07.2014, 23:28

Есть задумка создать определенный раздел, где вместо первого поста будет отображаться айфрейм.
так вот вопрос, как сделать так, чтобы первые сообщения в этом разделе не имели минипрофиля?
Нужна полная ширина постика.
Пусть это будет раздел с f=2, который мы получаем по умолчания при устанoвке форума.
:smoke:
vbnm
Автор темы
Репутация: 108
С нами: 11 лет

Сообщение #2 factotum » 20.07.2014, 23:53

vbnm:айфрейм
Из Вашего ресурса или стороннего?
factotum
Откуда: Люксембург
Репутация: 234
С нами: 11 лет 11 месяцев

Сообщение #3 vbnm » 21.07.2014, 03:56

factotum, скажем так, мы устраиваем кинотеатр и берем ютюб в качестве аналога.
Или ваш вопрос касается безопасности использования айфрейма на своем рессе?
vbnm
Автор темы
Репутация: 108
С нами: 11 лет

Сообщение #4 factotum » 21.07.2014, 11:08

vbnm:Или ваш вопрос касается безопасности использования айфрейма
уточнил именно это.
К сожалению, давно не работал с phpbb. По памяти примерно так:
Сделать копию стиля, изменить вводные данные, скажем, на CustomF2. В новой теме нужен файл viewtopic_body.html
Понять какими плейсхолдерами определяется первый/закрепленный пост,
добавить в классы сообщения собственный:
Код: Выделить всё
<div id="p{postrow.POST_ID}" data-id="{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.POST_NUMBER == 1 --> first<!-- ENDIF -->">
<!-- IF postrow.POST_NUMBER == 1 --> first<!-- ENDIF --> - этот плейсхолдер из головы, правильный может подскажет VEG или Самурай...
далее дело за банальным редактированием стилей:
Код: Выделить всё
.post.first {
  .postprofile {
    display: none;
  }
  чего там еще
}
Управление разделами -> Редактирование раздела -> Настройки отображения раздела -> Стиль раздела: установить свою тему CustomF2
factotum
Откуда: Люксембург
Репутация: 234
С нами: 11 лет 11 месяцев

Сообщение #5 Sumanai » 21.07.2014, 16:02

factotum:Сделать копию стиля

Это лишнее. Есть переменная FORUM_ID, её можно сравнить с нужным айди.

factotum:далее дело за банальным редактированием стилей:

phpBBex пока ещё не поддерживает SASS, так что проще нужно

Код: Выделить всё
.post.first .postprofile {
    display: none;
}

.post.first .postbody {
    width: 100%;
}

factotum:этот плейсхолдер из головы,

Хорошая у вас голова :smile: Так и есть, существует такая переменная.
То есть достаточно в стандартном стиле поменять на
Код: Выделить всё
<div id="p{postrow.POST_ID}" data-id="{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 FORUM_ID == 2 and postrow.POST_NUMBER == 1 --> first<!-- ENDIF -->">

Ну и стили.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #6 factotum » 21.07.2014, 22:12

Sumanai:SASS
прошу прощения, успел подзабыть как выглядит нативный CSS :oops:
ID vs копии темы:
ID + минимальная возня для администратора
ID - возможность потери данных при обновлении

Копия темы + Легкая масштабируемость через настройки
Копия темы - Необходимость в синхронизации модов/обновлений

Если шаблон необходим для десятка тем, то выбрал бы второе. Если тем 1-5, выбрал бы ID
factotum
Откуда: Люксембург
Репутация: 234
С нами: 11 лет 11 месяцев

Сообщение #7 Sumanai » 21.07.2014, 22:27

factotum:прошу прощения, успел подзабыть как выглядит нативный CSS :oops:

Вот так и теряют профессиональные навыки. Скоро все забудут, как TCP на низком уровне работает, и цивилизация рухнет, когда человечество упрётся в ограничения протокола и не сможет его восстановить по имеющимися данным.

factotum:ID - возможность потери данных при обновлении

Это как? Меркуриал объединит, если руками- то просто не забыть повторить правки. Какие данные куда могут потеряться?
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #8 factotum » 21.07.2014, 22:46

Sumanai:то как? Меркуриал объединит, если руками- то просто не забыть повторить правки. Какие данные куда могут потеряться?
в теории все красиво. Из практики, обновление приводило к чистейшему phpbbex из репозитария с поэтапным восстановлением проделанного для предыдущей версии ручками.
factotum
Откуда: Люксембург
Репутация: 234
С нами: 11 лет 11 месяцев

Сообщение #9 Sumanai » 21.07.2014, 22:52

Сначала научится же нужно, попрактиковаться. И кто же обновляется без бекапа? :eek:
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #10 VEG » 21.07.2014, 23:31

factotum, оно красиво и на практике, но чудес не бывает, конфликты — возможны, в случае конфликтов нужно уметь их разрешать.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #11 Sumanai » 21.07.2014, 23:32

У него по моему не конфликты, а не зафиксированные изменения в локальном репозитории, из- за чего при обновлении всё слетало.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #12 vbnm » 21.07.2014, 23:39

Спасибо :smoke:
результируемс
Редактируемые файлы:
viewtopic_body.html
найти строчку
Код: Выделить всё
<div id="p{postrow.POST_ID}" data-id="{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 -->">
и заменить на:
Код: Выделить всё
<div id="p{postrow.POST_ID}" data-id="{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 FORUM_ID == 2 and postrow.POST_NUMBER == 1 --> first<!-- ENDIF -->">

в этой строке указывается айди раздела
<!-- IF FORUM_ID == 2 and postrow.POST_NUMBER == 1 -->

styles\prosilver\theme\content.css
найти
Код: Выделить всё
.postbody h3.first {
   /* The first post on the page uses this */
   /*font-size: 1.7em;*/
}
Вставить до этого участка
Код: Выделить всё
.post.first .postprofile {
    display: none;
}

.post.first .postbody {
    width: 100%;
}

Очтистить кеш форума
очистить кеш браузера

Добавлено спустя 8 минут 13 секунд:
тут вот подумал и ради прикола
как можно сделать так, чтобы в теме пофили юзеров отображались попеременно, то слева, то с права?
типо шахмат..
хм, у нас где-то же есть выделение по цвету? типо зебры шоб было
vbnm
Автор темы
Репутация: 108
С нами: 11 лет

Сообщение #13 factotum » 22.07.2014, 08:28

Sumanai:Сначала научится же нужно, попрактиковаться. И кто же обновляется без бекапа?
сейчас чистый phpbbex, еще живущий в последнем экземпляре из-за недостатка времени. а была кастомная тема, где было переписано считай 100% разметки и большая часть JS, цепляя за собой все остальное. Это как накатить обновление phpbbex на Symphony. При обновлении и контролеру ревизий, и глазу, просто не за что было зацепиться.
Если отличий пару строчек, то конечно же, обновления через системы контроля версий значительно облегчают задачу.
factotum
Откуда: Люксембург
Репутация: 234
С нами: 11 лет 11 месяцев

Сообщение #14 Sumanai » 22.07.2014, 15:43

factotum:При обновлении и контролеру ревизий, и глазу, просто не за что было зацепиться.

Тут да, проще руками обновления переносить из новой версии на свою отдельную тему. Но это редкий случай.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца


Вернуться в Поддержка 1.x