Переделка функции "значки тем". стиль subsilver2
небольшая модификация, позволяющая вместо значков тем (выбор при создании темы) выбрать фон для самой темы:
Вложение:
scans_posting.png [ 5.84 КБ | Просмотров: 53 ]
scans_posting.png
что, в результате, даст возможность выделения темы не значком, а фоном:
Вложение:
scans_topic.png [ 30.31 КБ | Просмотров: 53 ]
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 делать не стал, так как во-первых он - плавающий, а во-вторых там строки при наведении и так меняются.
Может кому и пригодится...
|