Переделка функции "значки тем". стиль subsilver2небольшая модификация, позволяющая
вместо значков тем (выбор при создании темы) выбрать фон для самой темы:
Вложение:
scans_posting.png [ 5.84 КБ | Просмотров: 51 ]
scans_posting.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"> {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 <!-- 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 <!-- 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 <!-- 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 <!-- 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 <!-- 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 -->Заменить найденное на
Вроде с кодом в файле 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"> <!-- 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 --> </td>
</tr>
</table>
</td>
</tr>
<tr>
<th colspan="2"> {L_TOPICS} </th>
<th> {L_AUTHOR} </th>
<th> {L_REPLIES} </th>
<th> {L_VIEWS} </th>
<th> {L_LAST_POST} </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>
<!-- ENDIF -->
<!-- IF topicrow.S_TOPIC_REPORTED -->
<a href="{topicrow.U_MCP_REPORT}">{REPORTED_IMG}</a>
<!-- 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> {S_SELECT_SORT_DAYS} <span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR} <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 делать не стал, так как во-первых он - плавающий, а во-вторых там строки при наведении и так меняются.
Может кому и пригодится...
