🌵鲜易达网站更新
1、在左边栏加入“首页”方便操作,
<a class="menu__link menu__link--sublist" role="button" href="<?= BLOG_URL ?>">首页</a>
2、将分类尾标箭头去除,看着不美观
<a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button">删除多余class代码menu__link--sublist-caret" 即可</a>
3、删除详情关联的上下篇变量
if ($log) {
foreach ($log as $value):
$articleTitle = mb_substr($value['log_title'], 0, 17, 'utf-8');
$articleUrl = Url::log($value['gid']);
$articlesOut = ($flag == 'prev') ?
"<a class='pagination-nav__link pagination-nav__link--prev' href='{$articleUrl}' title='{$articleTitle}'>" :
"<a class='pagination-nav__link pagination-nav__link--next' href='{$articleUrl}' title='{$articleTitle}'>";
$articlesOut .= '<div class="pagination-nav__sublabel">' . ($flag == 'prev' ? '上一篇' : '下一篇') . '</div><div class="pagination-nav__label">' . $value['log_title'] . '</div></a>';
echo $articlesOut;
endforeach;
}
4、自定义页面代码模板已添加,可以在后台》》》外观》》》页面》》找到对应页进去后进行修改!
使用方法在后台》》》外观》》》页面》新建,模板输入single_page即可生成单独页面不影响教程文章!
5、加入登录功能,整合钩子函数融入到一起,配合插件唤起弹窗登录页面
输出变量 <?php blog_navi() ?>
对应函数:(登录显示有2个,判断未初始化以作处理)
/**
* 页顶:导航
*/
function blog_navi()
{
global $CACHE;
$navi_cache = $CACHE->readCache('navi');
// 检查用户登录状态
$is_login = !User::isVisitor();
// 初始化是否有登录项的标志
$has_login_item = false;
?>
<?php
foreach ($navi_cache as $value):
if ($value['pid'] != 0) {
continue;
}
// 检查是否有登录相关的导航项
if (strpos($value['naviname'], '登录') !== false) {
$has_login_item = true;
}
if ($value['url'] == 'admin' && (!User::isVisitor())):
?>
<a class="navbar__item navbar__link" href="<?= BLOG_URL ?>admin/" <?= $newtab ?>>管理</a>
<a class="navbar__item navbar__link" href="<?= BLOG_URL ?>admin/account.php?action=logout">退出</a>
<?php
continue;
endif;
$newtab = $value['newtab'] == 'y' ? 'target="_blank"' : '';
$value['url'] = $value['isdefault'] == 'y' ? BLOG_URL . $value['url'] : trim($value['url'], '/');
$current_tab = BLOG_URL . trim(Dispatcher::setPath(), '/') == $value['url'] ? 'active' : '';
?>
<a class="navbar__item navbar__link" href="<?= $value['url'] ?>" <?= $newtab ?>><?= $value['naviname'] ?></a>
<?php endforeach ?>
<?php
// 仅当没有原有登录项且未登录时,才显示新增的登录按钮
if (!$is_login && !$has_login_item):
?>
<a class="navbar__item navbar__link" href="javascript:Ixc_login_but_login();">登录</a>
<?php
endif;
}
6、搜索框在手机上响应式下会与logo叠压,修复下!
.navbar__search-input {
width: 100%;
max-width: 120px;
}
修改为(第3822-3825行):
.navbarSearchContainer_Bca1 {
position: relative;
width: 100%;
margin-top: 0.5rem;
padding: 0 var(--ifm-navbar-padding-horizontal);
}
7、提醒样式:
:::note
这是一个备注内容
:::
:::tip[自定义提示标题]
这是一个带自定义标题的提示内容
:::
:::info
这是信息类型的提示
:::
:::warning
这是警告类型的提示
:::
:::danger
这是危险警告提示
:::
8、搜索框样式,在收集下会叠压logo
简单修改搜索框的宽度 padding: 2px 5px;
9、文章详情页链接小标题改加颜色
//文章名称:$log_title
//文章链接:Url::log($logid);
// 修改:为文章标题添加样式函数
$styled_title = '<span ' . toEver_titleColor_view($logid, true) . '>' . $log_title . '</span>';
$sheli_mbx = $sheli_mbx . $styled_title;
} elseif (isset($type) && $type == 'page') { //自定义文章
// 修改:为自定义文章标题添加样式
$styled_title = '<span ' . toEver_titleColor_view($logid, true) . '>' . $log_title . '</span>';
$sheli_mbx .= $styled_title;
} elseif (isset($tws) && $tws) {
preg_match_all('|^.*/\?(page)=(\d+)([\?&].*)?$|', Dispatcher::setPath(), $Preferred);
if ($Preferred[1][0] == 'page') {
$sheli_mbx .= htmlspecialchars(urldecode($Preferred[2][0]));
}
$sheli_mbx .= '微语';
} else {
$log_title = isset($log_title) ? $log_title : '';
// 修改:为其他情况下的标题添加样式
if (!empty($log_title)) {
$styled_title = '<span ' . toEver_titleColor_view($logid, true) . '>' . $log_title . '</span>';
$sheli_mbx .= $styled_title;
} else {
$sheli_mbx .= $log_title;
}
}
对应修改即可
详情主标题变色:
<?= $log_title ?>
替换成:
<?= '<span ' . toEver_titleColor_view($logid, true) . '>' . $log_title . '</span>' ?>
简单明了
10、针对个别需要加粗加字体颜色(目前针对首页大分类应用了该代码)
1.
使用 <strong> 标签实现加粗效果(这是语义化的做法,比单纯使用 <b> 标签更好)
2.
通过 style='color: #000000;' 设置字体颜色为纯黑色
3.
将 $sort['sortname'] 变量包裹在 <strong> 标签内
4.
如 <strong style='color: #000000;'>
11、针对用户等级调用,后台关闭后前台报错,先更改调用函数
原:
<?=user_level($author)?>
替换
<?=function_exists('user_level') ? user_level($author) : ''?>
无论后台是否开启都无影响前端预览
12、调用后台主栏管理(用户中心菜单栏挂载函数)
addAction('adm_menu', 'merchant_menu');
function merchant_menu(){
echo '<li class="nav-item" id="menu_user_level_setting">
<a class="nav-link" href="plugin.php?plugin=lh_shanghu"><i class="icofont-options"></i><span>输入商户管理</span></a>
</li>';
}
13、整合会员等级与积分方案
readCache('user');
// 获取积分
$DB = MySql::getInstance();
$res = $DB->once_fetch_array("SELECT amount FROM " . DB_PREFIX . "x_user WHERE uid = $uid");
$tallyTotal = isset($res['amount']) ? (int)$res['amount'] : 0;
// 等级配置
$config = $plugin_storage->getValue('config');
$admin = $plugin_storage->getValue('admin');
$writer = $plugin_storage->getValue('writer');
$visitor = $plugin_storage->getValue('visitor');
usort($writer, function($a, $b) {
return $a['min'] - $b['min'];
});
$writerCount = count($writer);
// 等级计算
$LevenNick = '';
$LevenNum = 0;
$LevenIcon = '';
$interval = 0;
$nextlevel = '';
if ($writerCount > 0) {
foreach ($writer as $k => $v) {
$currentMin = (int)$v['min'];
$currentMax = (int)$v['max'];
if ($k == $writerCount - 1 && $tallyTotal >= $currentMax) {
$LevenNick = $v['level_nick'];
$LevenNum = $k + 1;
$LevenIcon = $v['icon']; // 保留图标ID获取(不影响,仅不显示)
$interval = 0;
$nextlevel = '最高等级';
break;
}
if ($tallyTotal >= $currentMin && $tallyTotal 0) {
$firstLevel = $writer[0];
$LevenNick = $firstLevel['level_nick'];
$LevenNum = 1;
$LevenIcon = $firstLevel['icon']; // 保留图标ID获取(不影响,仅不显示)
$interval = $firstLevel['min'] - $tallyTotal;
$nextlevel = $firstLevel['level_nick'];
}
}
// 生成等级HTML(仅删除普通用户图标)
$icon_show = $config['icon_show'] == 1 ? true : false;
$level = '';
if ($user_cache[$uid]['role'] == ROLE_ADMIN) {
// 管理员图标保持不变
$level .= ($icon_show && $admin['icon'] ?
'' : '').
''.$admin['level_nick'].' Lv.'.$writerCount.'';
} elseif ($user_cache[$uid]['role'] == ROLE_WRITER && !empty($LevenNick)) {
// 仅删除普通用户的图标显示代码,其他保持不变
$level .= ''.
$LevenNick.'';
} else {
// 游客图标保持不变
$level .= ($icon_show && $visitor['icon'] ?
'' : '').
''.$visitor['level_nick'].'';
}
$level .= '';
// 删除普通用户的图标调试脚本
return $level;
}
待更新……