небольшая модификация, позволяющая вместо значков тем (выбор при создании темы) выбрать фон для самой темы:
Вложение:
что, в результате, даст возможность выделения темы не значком, а фоном:
Вложение:
разумеется, "значки тем", как таковые, больше не работают.
смотрится интересно. может кого и заинтересует.
Итак:
функция вывода иконок (значков) для тем, это:
Код: Выделить всё
<!-- 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
примечание: правки применены только к темам форума. субфорумы не затрагивает.
Теперь добавим вывод фона, как условие в столбцы таблицы. При отключении значка будет выводится стиль по умолчанию:
То есть вместо оформления class="row1" мы прописываем вывод фона
Дальше поступать также. не буду прописывать все строки, заменяйте class="row1" или class="row2" по аналогии:
С пропиской фона всё. теперь продолжаем убирать "ненужный код":
Вроде с кодом в файле 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"> {L_TOPICS} </th>
<!-- ELSE -->
<th colspan="2"> {L_TOPICS} </th>
<!-- ENDIF -->
Заменить найденное на
Код: Выделить всё
<th colspan="2"> {L_TOPICS} </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 закончил.
Для удобство понимания выкладываю переделанный код целиком:
переделанный код
Вроде нигде не ошибся...
Переделка вида при создании темы и выбора фона:
Открыть 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/ форума:
Вложение:
скачать, распаковать и отдельные изображения загрузить в папку.
информация по фонам:
floralwhite -жёлтый
lavenderblush - розовый
azure - голубой
honeydew - зелёный
файлы названы так, как в html сами цвета.
Уфф... вроде бы всё. кажется, что сложно, но на самом деле нет...
Для стиля prosilver делать не стал, так как во-первых он - плавающий, а во-вторых там строки при наведении и так меняются.
Может кому и пригодится...