【XenForo】为Forum列表中最新的贴子加上NEW标记

PHP:

<?php 
 
//连接数据库
$connect = @mysqli_connect('','','');
if(!$connect){
    echo '数据库连接失败'.mysqli_error($connect);
}
mysqli_select_db( $connect, 'hairloss' );
$result = mysqli_query($connect,
						"select post_id,thread_id 
						from xf_post  
						where thread_id in(
						select thread_id from 
						(select thread_id from xf_thread 
						ORDER BY last_post_date desc LIMIT 5 ) 
						as top_five_thread_ids
						) 
						ORDER BY post_id desc;"
) or die(mysqli_error($connect));
$newMembers = [];
$i=0;
while($tr=mysqli_fetch_row($result)){
	$newMembers[$i++] = $tr[0];
}
print_r(json_encode($newMembers));

node_list_forum:

<div class="{$extras.last_post_id}"></div>
<a href="{{ link('posts', {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.last_thread_title}">{$extras.last_thread_title}</a></div>
<div class="node-extra-row">
	<div style="display:none;" id="{$extras.last_post_id}">{$extras.last_post_id}</div>
	<script src="/js/vendor/jquery/jquery-3.2.1.min.js"></script>
	<script>
		$.get('/custom/latest_posts.php', function (s) {
			var latestpostsids = JSON.parse(s);
			var post_id = $('#{$extras.last_post_id}').html();
			for(var i=0;i<latestpostsids.length;i++){
				if(latestpostsids[i]== post_id){
					$(".{$extras.last_post_id}").append('<div class="new">NEW</div>');
				}
			} 
		})		
	</script>

最终效果图:

### 回答1: 要在 XenForo 将用户个人资料放在左边,你需要进行以下步骤: 1.登录到 XenForo 管理员控制台。 2.进入“外观”选项卡,然后选择“节点布局”。 3.找到“会员卡片布局”设置,然后单击“编辑”。 4.在“模板”框,找到“member_card”模板,并将其复制到一个新的模板。 5.在新的模板,找到以下代码: ``` <xf:include template="member_card_info" /> ``` 6.将代码更改为以下内容: ``` <div class="memberCardInfo"> <div class="avatar">{avatar}</div> <div class="userInfo"> <h3 class="username">{username}</h3> <dl class="pairsJustified">{customFields}</dl> </div> </div> ``` 7.保存模板更改后,返回“会员卡片布局”设置。 8.将“模板”设置更改为新创建的模板,保存更改。 现在,当用户访问其个人资料页面时,其资料将出现在左侧,而不是默认的右侧。 ### 回答2: 要将XenForo用户个人空间的资料放到左边,您可以按照以下步骤进行操作: 1. 登录XenForo管理员后台。 2. 在导航菜单找到“样式”选项,然后选择“模板编辑器”。 3. 在模板编辑器页面,展开“Public”文件夹。 4. 在文件夹找到并选择“member_view”模板。 5. 找到以下代码段: ``` <xen:contentcheck> <xen:h2>{$user.username}</xen:h2> <xen:hook name="member_view_tabs_heading"> <xen:h3>{xen:phrase about}</xen:h3> </xen:hook> <!-- 此处为用户资料内容 --> <xen:hook name="member_view_after_privacy"> <xen:include template="member_info" /> </xen:hook> .... </xen:contentcheck> ``` 6. 将上述代码段的用户资料内容移动到左边,可以通过将其放置在适当的位置来实现。例如,将其放置在`<xen:h2>{$user.username}</xen:h2>`标签的下方。 修改后的代码段如下: ``` <xen:contentcheck> <div class="memberInfo"> <!-- 此处为用户资料内容 --> </div> <div class="memberUsername"> <xen:h2>{$user.username}</xen:h2> </div> <xen:hook name="member_view_tabs_heading"> <xen:h3>{xen:phrase about}</xen:h3> </xen:hook> <xen:hook name="member_view_after_privacy"> <xen:include template="member_info" /> </xen:hook> .... </xen:contentcheck> ``` 7. 单击页面底部的“保存”按钮保存更改。 8. 刷新并访问XenForo用户个人空间页面,您会看到用户资料已经被放到了左侧。 请注意,以上步骤仅是一种修改方式,具体视您的需求而定。您可以根据自己的设计风格和要求进行相应的修改。 ### 回答3: 要将XenForo用户个人空间的资料放到左边,您可以遵循以下步骤: 1. 登录到XenForo管理员控制面板。 2. 找到并点击“外观”选项卡。 3. 在左侧导航菜单,选择“样式”选项。 4. 在样式列表选择您想要编辑的样式,然后点击“编辑”按钮。 5. 在左侧导航菜单,选择“模板”选项。 6. 在模板列表,选择“public”下的“member_view”模板。 7. 在代码编辑器,找到以下行: ```html <xf:macro template="member_macros"> ``` 8. 在该行下方插入如下代码: ```css <xen:h2>{xen:phrase member_information}: </xen:h2> ``` 以上代码添加了一个标题,显示为“会员信息”,这是您放置用户个人空间资料的区域的标题。您可以根据需要自定义标题标签和文本。 9. 继续在代码编辑器,找到以下行: ```html <article class="member__primary"> ``` 10. 在该行上方插入如下代码: ```html <nav class="member__sidebar"> <div> <div class="memberHeader">{xen:phrase member_information}:</div> <div class="memberInfoList"> <dl class="pairsJustified"> <xen:hook name="member_container_info"> <xen:include template="member_info" /> </xen:hook> </dl> </div> </div> </nav> ``` 以上代码创建了一个侧边栏,用于存放用户个人空间资料的列表。 11. 点击保存按钮保存修改后的模板。 12. 退出管理员控制面板。 完成上述步骤后,用户个人空间的资料将会显示在左侧侧边栏。您可以根据需要进行样式调整和其他自定义修改。记得在进行任何修改之前备份现有的模板文件,以防出现意外情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值