2014-10-18 3 views
0

Недавно я создал свою собственную панель PHPBB и сразу нашел тему, влюбился в нее и начал ее настраивать. Ну, вскоре после запуска, я понял, что тема никогда не отображала заголовок в столбце «Последнее сообщение» на доске. Я немного поработал, выяснив, что мне нужно отредактировать файл «viewforum_body.html» для его отображения, используя разные переменные, а именно «fourmrow.LAST_POST_SUBJECT».PHPBB3 - Не могу получить тему для отображения последнего заголовка сообщения

К сожалению, кажется, что независимо от того, где и как я подключаю его, он не будет работать. Для справки, я использую тему ProGlass, и вот кодовый блок из «viewforum_body.html», который, похоже, касается столбца «Последнее сообщение».

<!-- IF topicrow.S_FIRST_ROW or not topicrow.S_TOPIC_TYPE_SWITCH --> 
    <div class="forumbg<!-- IF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) --> announcement<!-- ENDIF -->"> 
    <div class="inner"><span class="corners-top"><span></span></span> 
    <ul class="topiclist"> 
     <li class="header"> 
      <dl class="icon"> 
       <dt><!-- IF S_DISPLAY_ACTIVE -->{L_ACTIVE_TOPICS}<!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) -->{L_ANNOUNCEMENTS}<!-- ELSE -->{L_TOPICS}<!-- ENDIF --></dt> 
       <dd class="posts">{L_REPLIES}</dd> 
       <dd class="views">{L_VIEWS}</dd> 
       <dd class="lastpost"><span>{L_LAST_POST}</span></dd> 
      </dl> 
     </li> 
    </ul> 
    <ul class="topiclist topics"> 
<!-- ENDIF --> 

    <li class="row<!-- IF topicrow.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- IF topicrow.S_POST_GLOBAL --> global-announce<!-- ENDIF --><!-- IF topicrow.S_POST_ANNOUNCE --> announce<!-- ENDIF --><!-- IF topicrow.S_POST_STICKY --> sticky<!-- ENDIF --><!-- IF topicrow.S_TOPIC_REPORTED --> reported<!-- ENDIF -->"> 
     <dl class="icon" style="background-image: url({topicrow.TOPIC_FOLDER_IMG_SRC}); background-repeat: no-repeat;"> 
      <dt<!-- IF topicrow.TOPIC_ICON_IMG and S_TOPIC_ICONS --> style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{topicrow.TOPIC_FOLDER_IMG_ALT}"><!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a> <!-- ENDIF --><a 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 --><br /> 
       <!-- IF topicrow.PAGINATION --><strong class="pagination"><span>{topicrow.PAGINATION}</span></strong><!-- ENDIF --> 
       <!-- IF topicrow.ATTACH_ICON_IMG -->{topicrow.ATTACH_ICON_IMG} <!-- ENDIF -->{L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME} 
      </dt> 
      <dd class="posts">{topicrow.REPLIES} <dfn>{L_REPLIES}</dfn></dd> 
      <dd class="views">{topicrow.VIEWS} <dfn>{L_VIEWS}</dfn></dd> 
      <dd class="lastpost"><span><dfn>{L_LAST_POST}</dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} 
       <!-- IF not S_IS_BOT --><a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a> <!-- ENDIF --><br />{topicrow.LAST_POST_TIME}</span> 
      </dd> 
     </dl> 
    </li>  

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

ответ

0

ProGlass не имеет собственного файла forumlist_body.html, поэтому вам нужно будет отредактировать файл ProSilver, где он унаследован. Не делайте редактирование с помощью редактора ACP, так как при сбросе кеша файлы возвращаются к стандартному состоянию. Загрузите их, отредактируйте их в правильном текстовом редакторе, который может сохранять файлы как UTF8 без спецификации, а затем загружать отредактированные файлы с помощью надлежащего FTP-клиента - не используйте передачу файлов хостов, поскольку иногда это может сломать файлы.

НЕ ЗАБЫВАЙТЕ, ЧТОБЫ ИЗМЕНИТЬ КЕЙШУ В АКТЕ ПОСЛЕ ДАЛЬШЕ ИЗМЕНЕНИЙ!

Взятые из PHPBB Dev вики (https://www.phpbb.com/kb/article/adding-last-posts-subject-to-index/) ...

PHPBB уже включает в себя переменную шаблона для отображения предмет последнего поста на странице индекса, но в настоящее время не используется. Если объект превышает 10 или 15 символов, объект может охватывать 2 или более строк. В этой статье объясняется, как не только добавлять объект к странице индекса, но и сокращать его, если длина его более 10 символов.

Во-первых, открытая /includes/functions_display.php и найти:

'LAST_POST_SUBJECT'  => censor_text($last_post_subject), 

Замените эту строку с:

'LAST_POST_SUBJECT'  => (utf8_strlen(censor_text($last_post_subject)) > 10) ? utf8_substr(censor_text($last_post_subject), 0, 10) . '...' : censor_text($last_post_subject), 

Для prosilver на основе стилей:

Открыть/стили/prosilver/template/forumlist_body.html и найдите (обратите внимание, что код ниже является частью более крупной строки):

<dfn>{L_LAST_POST}</dfn> 

На той же строке перед выше текст, добавить:

{forumrow.LAST_POST_SUBJECT}<br /> 

Вся линия должна выглядеть следующим образом:

<!-- IF forumrow.LAST_POST_TIME -->{forumrow.LAST_POST_SUBJECT}<br /><dfn>{L_LAST_POST}</dfn> {L_POST_BY_AUTHOR} {forumrow.LAST_POSTER_FULL} 

Для subsilver2 на основе стилей:

Теперь откройте /styles/subsilver2/template/forumlist_body.html и найти

<p class="topicdetails"><!-- IF forumrow.U_UNAPPROVED_TOPICS --><a href="{forumrow.U_UNAPPROVED_TOPICS}">{UNAPPROVED_IMG}</a>&nbsp;<!-- ENDIF -->{forumrow.LAST_POST_TIME}</p> 

На новой линии до этой линии добавить

<p class="topicdetails">{forumrow.LAST_POST_SUBJECT}</p> 

Теперь сохраните все файлы и очистить кэш.

+0

Wow - забыли, что я разместил это как derp. Спасибо, хотя, это сработало как шарм! Что мне нужно сделать, чтобы эти названия работали как ссылка на эту тему? – PanoramicPanda

+0

Вместо добавления '{forumrow.LAST_POST_SUBJECT}
' изменить его на '{forumrow.LAST_POST_SUBJECT}
' – Eeji

+0

Спасибо тонну! Ты лучший! – PanoramicPanda