Удаление Re: из шаблона страниц просмотра темы
Для начала уберём дополнительный заголовок со страниц просмотра тем (так называемый viewtopic). Делается это элементарно — открываем шаблон styles/prosilver/template/viewtopic_body.html и находим там строчку:
Код: Выделить всё
<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
Код: Выделить всё
<a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a>
Для шаблонов, основанных на subsilver2, надо искать строчку вида:
Код: Выделить всё
<td class="gensmall" width="100%"><div style="float: {S_CONTENT_FLOW_BEGIN};"> <b>{L_POST_SUBJECT}:</b> {postrow.POST_SUBJECT}</div><div style="float: {S_CONTENT_FLOW_END};"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF --><b>{L_POSTED}:</b> {postrow.POST_DATE} </div></td>
Код: Выделить всё
<div style="float: {S_CONTENT_FLOW_BEGIN};"> <b>{L_POST_SUBJECT}:</b> {postrow.POST_SUBJECT}</div>
Но описанный выше способ может показаться слишком уж радикальным, ибо он не будет показывать заголовки сообщений вообще никому. А иногда требуется сохранить отображение для некоторых групп пользователей, например, для администраторов и модераторов. Вспоминаем, что в phpBB есть шаблонные переменные, которые в данном случае подойдут как нельзя кстати.
Код: Выделить всё
Языковые переменные:
{SITENAME} - выводит название форума, прописанное в админке
{SITE_DESCRIPTION} - описание форума, прописанное в админке
{PAGE_TITLE} - выводит заголовок страницы
Пути:
{T_TEMPLATE_PATH} - заменяется на ./styles/ваш_стиль
{T_THEME_PATH} - заменяется на ./styles/ваш_стиль/theme
{T_STYLESHEET_LINK} - заменяется на ./style.php
{T_IMAGESET_PATH} - заменяется на ./styles/ваш_стиль/imageset
Условные конструкции:
<!-- IF not S_IS_BOT -->
текст, который не увидят боты
<!-- ENDIF -->
<!-- IF S_USER_LOGGED_IN -->
текст, который увидят только залогиненные пользователи
<!-- ENDIF -->
Объединение условных конструкций:
<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
текст, который не увидят боты, и увидят только залогиненные пользователи
<!-- ENDIF -->
Код: Выделить всё
<!-- IF U_ACP --><!-- ENDIF -->
Код: Выделить всё
<!-- IF U_MCP --><!-- ENDIF -->
Код: Выделить всё
<!-- IF U_ACP or U_MCP --><!-- ENDIF -->
Код: Выделить всё
<!-- IF U_ACP or U_MCP --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a><!-- ENDIF -->
Для полноты работы теперь удалим текстовое поле для ввода дополнительного заголовка, которое отображается в форме написания ответа в тему:
За этот шаблон отвечает файл posting_editor.htmlprosilver надо редактировать styles/prosilver/template/posting_editor.html, ища в нём строчки:
Код: Выделить всё
<dl style="clear: left;">
<dt><label for="subject">{L_SUBJECT}:</label></dt>
<dd><input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" /></dd>
</dl>
Код: Выделить всё
<!-- IF not TOPIC_TITLE --><!-- ENDIF -->
Код: Выделить всё
<!-- IF not TOPIC_TITLE -->
<dl style="clear: left;">
<dt><label for="subject">{L_SUBJECT}:</label></dt>
<dd><input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" /></dd>
</dl>
<!-- ENDIF -->
Код: Выделить всё
<tr>
<td class="row1" width="22%"><b class="genmed">{L_SUBJECT}:</b></td>
<td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}" /></td>
</tr>
Небольшая вариация
Отдельно рассмотрим случай, когда заголовок сообщения на странице просмотра темы надо выводить, а вот при редактировании сообщения - наоборот, не надо - но только пользователям, а администраторы и модераторы должны иметь возможность редактировать его. Тогда нужно редактировать лишь файл шаблона, отвечающего за постинг, так, чтобы пользователям не показывалось поле ввода, но при этом не удаляя его совсем. Для этого открываем всё тот же styles/prosilver/template/posting_editor.html, ища в нём строчки:
Код: Выделить всё
<dl style="clear: left;">
<dt><label for="subject">{L_SUBJECT}:</label></dt>
<dd><input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" /></dd>
</dl>
Код: Выделить всё
<!-- IF U_ACP or U_MCP or not TOPIC_TITLE -->
<dl style="clear: left;">
<dt><label for="subject">{L_SUBJECT}:</label></dt>
<dd><input type="text" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" /></dd>
</dl>
<!-- ELSE -->
<input type="hidden" name="subject" id="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}{DRAFT_SUBJECT}" class="inputbox autowidth" />
<!-- ENDIF -->
Код: Выделить всё
<tr>
<td class="row1" width="22%"><b class="genmed">{L_SUBJECT}:</b></td>
<td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}" /></td>
</tr>
Код: Выделить всё
<!-- IF U_ACP or U_MCP or not TOPIC_TITLE -->
<tr>
<td class="row1" width="22%"><b class="genmed">{L_SUBJECT}:</b></td>
<td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}" /></td>
</tr>
<!-- ELSE -->
<input type="hidden" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" value="{SUBJECT}" />
<!-- ENDIF -->