我最近制作了自己的PHPBB板并立即找到了一个主题,爱上了它,并开始定制它。好吧,在发布后不久,我意识到主题从未在" Last Post"下显示帖子标题。董事会的一栏。我做了一些挖掘,发现我必须编辑主题" viewforum_body.html"文件是为了让它显示,使用不同的变量,即" fourmrow.LAST_POST_SUBJECT"。
不幸的是,似乎无论我在哪里或如何插入它,它都不会起作用。作为参考,我使用的是ProGlass主题,这里是" viewforum_body.html"的代码块。这似乎与#34; Last Post"列。
<!-- 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} » {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 :(得分:0)
ProGlass没有自己的forumlist_body.html
文件,因此您需要编辑继承自ProSilver
的文件。不要通过ACP编辑器进行编辑,因为清除缓存时文件将恢复为标准状态。下载它们,在适当的文本编辑器中编辑它们,可以将文件保存为没有BOM的UTF8,然后使用正确的FTP客户端上传编辑过的文件 - 不要使用主机文件传输,因为这有时会破坏文件。
在进行任何更改后,请勿忘记在ACP中使用CACHE!
取自phpBB dev wiki(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的样式:
打开/styles/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> <!-- ENDIF -->{forumrow.LAST_POST_TIME}</p>
在该行之前的新行上添加
<p class="topicdetails">{forumrow.LAST_POST_SUBJECT}</p>
现在保存所有文件并清除缓存。