сайт на данный момент является архивом информации по форуму phpbb 3.0. объяснения и помощь больше не предоставляются. старый сайт

Белк на PhpBB 3.0.14

информация по этому форуму. bbcode, моды и прочее, проверенное Белком. (перенос данных продолжается...)

Сегодня на конференции было 52 посетителей :: 1 зарегистрированный, 0 скрытых, 1 бот и 50 гостей (основано на активности посетителей за последние 24 часа)




 [ 1 сообщение ] 
Автор Сообщение
Не в сети
  (Андрей)
Администратор
Аватара пользователя

Стаж: 5 месяцев 20 дней
Сообщения: 228
Откуда: здешние мы

Стиль сайта: subsilver2
Настоящее имя: Андрей


Переделка функции "значки тем". стиль subsilver2

небольшая модификация, позволяющая вместо значков тем (выбор при создании темы) выбрать фон для самой темы:

Вложение:
scans_posting.png
scans_posting.png [ 5.84 КБ | Просмотров: 51 ] scans_posting.png



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

Вложение:
scans_topic.png
scans_topic.png [ 30.31 КБ | Просмотров: 51 ] scans_topic.png



разумеется, "значки тем", как таковые, больше не работают.

смотрится интересно. может кого и заинтересует.

Итак:

функция вывода иконок (значков) для тем, это:

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

<!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG --><img src="{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}" width="{topicrow.TOPIC_ICON_IMG_WIDTH}" height="{topicrow.TOPIC_ICON_IMG_HEIGHT}" alt="" title="" /><!-- ENDIF --><!-- ENDIF -->


имея адрес значка - можно прописать его как фон.

разумеется, это очередной конструктор. просто один из путей "как можно"...


Открыть viewforum_body.html

примечание: правки применены только к темам форума. субфорумы не затрагивает.

Найти

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

   <!-- IF not S_DISPLAY_ACTIVE and (S_IS_POSTABLE or .topicrow) -->
      <table class="tablebg" width="100%" cellspacing="1">
      <tr>
         <td class="cat" colspan="<!-- IF S_TOPIC_ICONS -->7<!-- ELSE -->6<!-- ENDIF -->">


Заменить на

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

   <!-- IF not S_DISPLAY_ACTIVE and (S_IS_POSTABLE or .topicrow) -->
      <table class="tablebg" width="100%" cellspacing="1">
      <tr>
         <td class="cat" colspan="6">


то есть просто убираем условие расширения/сужения таблицы от условия ввода в таблицу иконки темы (так как её просто не будет в том виде, что был).


Найти

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

         <!-- IF S_TOPIC_ICONS -->
            <th colspan="3">&nbsp;{L_TOPICS}&nbsp;</th>
         <!-- ELSE -->
            <th colspan="2">&nbsp;{L_TOPICS}&nbsp;</th>
         <!-- ENDIF -->


Заменить найденное на

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

            <th colspan="2">&nbsp;{L_TOPICS}&nbsp;</th>


Найти

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

         <!-- IF topicrow.S_TOPIC_TYPE_SWITCH eq 1 -->
            <tr>
               <td class="row3" colspan="<!-- IF S_TOPIC_ICONS -->7<!-- ELSE -->6<!-- ENDIF -->"><b class="gensmall">{L_ANNOUNCEMENTS}</b></td>
            </tr>
         <!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH eq 0 -->
            <tr>
               <td class="row3" colspan="<!-- IF S_TOPIC_ICONS -->7<!-- ELSE -->6<!-- ENDIF -->"><b class="gensmall">{L_TOPICS}</b></td>
            </tr>
         <!-- ENDIF -->


Заменить найденное на

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

         <!-- IF topicrow.S_TOPIC_TYPE_SWITCH eq 1 -->
            <tr>
               <td class="row3" colspan="6"><b class="gensmall">{L_ANNOUNCEMENTS}</b></td>
            </tr>
         <!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH eq 0 -->
            <tr>
               <td class="row3" colspan="6"><b class="gensmall">{L_TOPICS}</b></td>
            </tr>
         <!-- ENDIF -->


Найти

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

            <!-- IF S_TOPIC_ICONS -->
               <td class="row1" width="25" align="center"><!-- IF topicrow.TOPIC_ICON_IMG --><img src="{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}" width="{topicrow.TOPIC_ICON_IMG_WIDTH}" height="{topicrow.TOPIC_ICON_IMG_HEIGHT}" alt="" title="" /><!-- ENDIF --></td>
            <!-- ENDIF -->


Удалить найденное.
Это вывод значка и колонки, в которой он находится.



Теперь добавим вывод фона, как условие в столбцы таблицы. При отключении значка будет выводится стиль по умолчанию:


Найти

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

<td class="row1" width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>


Заменить найденное на

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

            <td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF --> width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>


То есть вместо оформления class="row1" мы прописываем вывод фона

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

style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"


Дальше поступать также. не буду прописывать все строки, заменяйте class="row1" или class="row2" по аналогии:

Найти

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

            <td class="row1">


Заменить найденное на

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

<td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF -->>


Найти (часть строки)

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

            <td class="row2" width="130"


Заменить найденное на

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

<td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row2"<!-- ENDIF --><!-- ENDIF --> width="130"


Найти (часть строки)

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

            <td class="row1" width="50"


Заменить найденное на

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

<td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF --> width="50"


Найти (часть строки)

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

            <td class="row2" width="50"


Заменить найденное на

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

<td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row2"<!-- ENDIF --><!-- ENDIF --> width="50"


Найти (часть строки)

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

            <td class="row1" width="140"


Заменить найденное на

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

<td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF --> width="140"


С пропиской фона всё. теперь продолжаем убирать "ненужный код":

Найти

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

            <!-- IF S_TOPIC_ICONS -->
               <td class="row1" colspan="7" height="30" align="center" valign="middle"><span class="gen"><!-- IF not S_SORT_DAYS -->{L_NO_TOPICS}<!-- ELSE -->{L_NO_TOPICS_TIME_FRAME}<!-- ENDIF --></span></td>
            <!-- ELSE -->
               <td class="row1" colspan="6" height="30" align="center" valign="middle"><span class="gen"><!-- IF not S_SORT_DAYS -->{L_NO_TOPICS}<!-- ELSE -->{L_NO_TOPICS_TIME_FRAME}<!-- ENDIF --></span></td>
            <!-- ENDIF -->


Заменить найденное на

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

               <td class="row1" colspan="6" height="30" align="center" valign="middle"><span class="gen"><!-- IF not S_SORT_DAYS -->{L_NO_TOPICS}<!-- ELSE -->{L_NO_TOPICS_TIME_FRAME}<!-- ENDIF --></span></td>


Найти

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

         <!-- IF S_TOPIC_ICONS -->
            <td class="cat" colspan="7">
         <!-- ELSE -->
            <td class="cat" colspan="6">
         <!-- ENDIF -->


Заменить найденное на

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

            <td class="cat" colspan="6">



Вроде с кодом в файле viewforum_body.html закончил.

Для удобство понимания выкладываю переделанный код целиком:

переделанный код

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

   <!-- IF not S_DISPLAY_ACTIVE and (S_IS_POSTABLE or .topicrow) -->
      <table class="tablebg" width="100%" cellspacing="1">
      <tr>
         <td class="cat" colspan="6">
            <table width="100%" cellspacing="0">
            <tr class="nav">
               <td valign="middle">&nbsp;<!-- IF S_WATCH_FORUM_LINK and not S_IS_BOT --><a href="{S_WATCH_FORUM_LINK}">{S_WATCH_FORUM_TITLE}</a><!-- ENDIF --></td>
               <td align="{S_CONTENT_FLOW_END}" valign="middle"><!-- IF not S_IS_BOT and U_MARK_TOPICS and .topicrow --><a href="{U_MARK_TOPICS}">{L_MARK_TOPICS_READ}</a><!-- ENDIF -->&nbsp;</td>
            </tr>
            </table>
         </td>
      </tr>

      <tr>
         <th colspan="2">&nbsp;{L_TOPICS}&nbsp;</th>
         <th>&nbsp;{L_AUTHOR}&nbsp;</th>
         <th>&nbsp;{L_REPLIES}&nbsp;</th>
         <th>&nbsp;{L_VIEWS}&nbsp;</th>
         <th>&nbsp;{L_LAST_POST}&nbsp;</th>
      </tr>

      <!-- BEGIN topicrow -->

         <!-- IF topicrow.S_TOPIC_TYPE_SWITCH eq 1 -->
            <tr>
               <td class="row3" colspan="6"><b class="gensmall">{L_ANNOUNCEMENTS}</b></td>
            </tr>
         <!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH eq 0 -->
            <tr>
               <td class="row3" colspan="6"><b class="gensmall">{L_TOPICS}</b></td>
            </tr>
         <!-- ENDIF -->

         <tr>
            <td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF --> width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>
            <td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF -->>
               <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a><!-- ENDIF -->
               {topicrow.ATTACH_ICON_IMG} <!-- IF topicrow.S_HAS_POLL or topicrow.S_TOPIC_MOVED --><b>{topicrow.TOPIC_TYPE}</b> <!-- ENDIF --><a title="{L_POSTED}: {topicrow.FIRST_POST_TIME}" href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
               <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
                  <a href="{topicrow.U_MCP_QUEUE}">{topicrow.UNAPPROVED_IMG}</a>&nbsp;
               <!-- ENDIF -->
               <!-- IF topicrow.S_TOPIC_REPORTED -->
                  <a href="{topicrow.U_MCP_REPORT}">{REPORTED_IMG}</a>&nbsp;
               <!-- ENDIF -->
               <!-- IF topicrow.PAGINATION -->
                  <p class="gensmall"> [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ] </p>
               <!-- ENDIF -->
            </td>
            <td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row2"<!-- ENDIF --><!-- ENDIF --> width="130" align="center"><p class="topicauthor">{topicrow.TOPIC_AUTHOR_FULL}</p></td>
            <td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF --> width="50" align="center"><p class="topicdetails">{topicrow.REPLIES}</p></td>
            <td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row2"<!-- ENDIF --><!-- ENDIF --> width="50" align="center"><p class="topicdetails">{topicrow.VIEWS}</p></td>
            <td <!-- IF S_TOPIC_ICONS --><!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url('{T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}');padding:4px;"<!-- ELSE -->class="row1"<!-- ENDIF --><!-- ENDIF --> width="140" align="center">
               <p class="topicdetails" style="white-space: nowrap;">{topicrow.LAST_POST_TIME}</p>
               <p class="topicdetails">{topicrow.LAST_POST_AUTHOR_FULL}
                  <!-- IF not S_IS_BOT --><a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a><!-- ENDIF -->
               </p>
            </td>
         </tr>

      <!-- BEGINELSE -->
         <!-- IF S_IS_POSTABLE -->
         <tr>
               <td class="row1" colspan="6" height="30" align="center" valign="middle"><span class="gen"><!-- IF not S_SORT_DAYS -->{L_NO_TOPICS}<!-- ELSE -->{L_NO_TOPICS_TIME_FRAME}<!-- ENDIF --></span></td>
         </tr>
         <!-- ENDIF -->
      <!-- END topicrow -->

      <!-- IF not S_IS_BOT -->
      <tr align="center">
            <td class="cat" colspan="6">
               <form method="post" action="{S_FORUM_ACTION}"><span class="gensmall">{L_DISPLAY_TOPICS}:</span>&nbsp;{S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_GO}" /></form>
            </td>
      </tr>
      <!-- ENDIF -->
      </table>
   <!-- ENDIF -->


Вроде нигде не ошибся... :?

Переделка вида при создании темы и выбора фона:

Открыть posting_body.html

Найти

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

<!-- IF S_SHOW_TOPIC_ICONS or S_SHOW_PM_ICONS -->
   <tr>
      <td class="row1"><b class="genmed">{L_ICON}:</b></td>
      <td class="row2">
         <table width="100%" cellspacing="0" cellpadding="0" border="0">
         <tr>
            <td><input type="radio" class="radio" name="icon" value="0"{S_NO_ICON_CHECKED} tabindex="1" /><span class="genmed"><!-- IF S_SHOW_TOPIC_ICONS -->{L_NO_TOPIC_ICON}<!-- ELSE -->{L_NO_PM_ICON}<!-- ENDIF --></span> <!-- BEGIN topic_icon --><span style="white-space: nowrap;"><input type="radio" class="radio" name="icon" value="{topic_icon.ICON_ID}"{topic_icon.S_ICON_CHECKED} tabindex="1" /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" hspace="2" vspace="2" /></span> <!-- END topic_icon --></td>
         </tr>
         </table>
      </td>
   </tr>
<!-- ENDIF -->



Заменить найденное на

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

<!-- IF S_SHOW_TOPIC_ICONS or S_SHOW_PM_ICONS -->
   <tr>
      <td class="row1"><b class="genmed">Фон темы:<br>(в списке тем)</b></td>
      <td class="row2">
         <table width="100%" cellspacing="0" cellpadding="0" border="0">
         <tr>
            <td><input type="radio" class="radio" name="icon" value="0"{S_NO_ICON_CHECKED} tabindex="1" /><span class="genmed" style="margin:0 5px 0 5px;"><!-- IF S_SHOW_TOPIC_ICONS -->{L_NO_TOPIC_ICON}<!-- ELSE -->{L_NO_PM_ICON}<!-- ENDIF --></span> <!-- BEGIN topic_icon --><span style="white-space: nowrap;"><input type="radio" class="radio" name="icon" value="{topic_icon.ICON_ID}"{topic_icon.S_ICON_CHECKED} tabindex="1" /><img src="{topic_icon.ICON_IMG}" width="{topic_icon.ICON_WIDTH}" height="{topic_icon.ICON_HEIGHT}" alt="" title="" hspace="2" vspace="2" style="margin:0 0 2px 5px;border:1px solid #B4B9BF;" /></span> <!-- END topic_icon --></td>
         </tr>
                        <tr>
                                <td>Цвет фона: 1 - жёлтый, 2 - розовый, 3 - голубой, 4 - зёлёный</td>
                        </tr>
         </table>
      </td>
   </tr>
<!-- ENDIF -->


Теперь необходимо добавить фоны в паки форума и удалить предыдущие значки.
Это можно сделать в административном разделе: Сообщения - Значки тем - добавить/удалить.

перед этим загрузить фоны в папку images/icons/misc/ форума:

Вложение:
pic.rar [674 байт]
Скачиваний: 3


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

информация по фонам:

floralwhite -жёлтый

lavenderblush - розовый

azure - голубой

honeydew - зелёный


файлы названы так, как в html сами цвета.

Уфф... вроде бы всё. кажется, что сложно, но на самом деле нет...

Для стиля prosilver делать не стал, так как во-первых он - плавающий, а во-вторых там строки при наведении и так меняются.

Может кому и пригодится... :)


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ 1 сообщение ] 

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

Всего посетителей: 2, из них зарегистрированных: 0, скрытых: 0 и гостей: 2 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (63) здесь было 23 май 2026, 12:35

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

Часовой пояс: UTC + 3 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

cron

Текущее время: 26 июн 2026, 20:53

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB.