站点列表 * @param array $engines 我的搜索引擎 * @param array $navSet 我的导航设置 * @param string $phrase 我的短语(空 = 还没设,展示页不可用) * @param string $showUrl 展示页完整地址(短语为空时是空串) * @param string $meAvatar 我的头像地址 */ $canWrite = \App\Auth::canWrite(); $editSite = null; $editGroup = null; $editEngine = null; // 点「编辑」时用 ?edit_site=12 / edit_group=3 / edit_engine=5 带出既有值 $eSite = (int)($_GET['edit_site'] ?? 0); $eGrp = (int)($_GET['edit_group'] ?? 0); $eEng = (int)($_GET['edit_engine'] ?? 0); foreach ($sitesBy as $gid => $rows) { foreach ($rows as $r) { if ((int)$r['id'] === $eSite) { $editSite = $r; } } } foreach ($allGroups as $g) { if ((int)$g['id'] === $eGrp) { $editGroup = $g; } } foreach ($engines as $e) { if ((int)$e['id'] === $eEng) { $editEngine = $e; } } $sc = static fn($k, $d = '') => (string)($navSet[$k] ?? $d); /* 🔴 v28 用户第 11 条:「导航模块,右上角增加设置按钮,和其他模块一样。 把导航展示地址,放进去,把导航设置,放进去,把板块设置,放进去, 把搜索引擎的设置,也放进去,你参考一下之前的导航系统 simplenav, 把之前的那些设置,都放在设置中,进来之后,默认就是添加网址,和所有网址的列表。」 ⇒ 两种视图,用 `?set=1` 切(服务端渲染,无 JS 也能切;刷新/回退都不丢状态): · 默认(`?set` 空):**只显示「新增站点」+「站点列表」** —— 日常真正要用的两件事; · 设置(`?set=1`):展示地址 / 导航设置 / 板块 / 搜索引擎 四块。 ⚠️ 为什么用查询参数而不是 JS 折叠:设置项里有表单(保存后会 302 回本页), 用 JS 折叠的话每次保存回来都会**自动摊开全部设置**,用户还要再收一次。 用参数就能让"保存后回到设置页"(下面的表单里保留了 `set=1` 的隐藏域)。 ⚠️ 保留 `$editSite` 等编辑态:正在编辑某个站点/板块/引擎时,**强制显示设置视图**, 否则用户点"编辑板块"会看到一个没有板块表单的页面(看起来像功能坏了)。 */ $inSettings = !empty($_GET['set']) || $editGroup !== null || $editEngine !== null; ?>
还没有站点。上面「新增站点」加一个吧。
内置了必应 / 百度 / 360 三档(国内可用)。谷歌 / 搜狗 / DuckGo 也列在下面, 但它们的联想或搜索在国内网络下不可用,所以默认未启用。 展示页顶部那排标签,就是这里已启用的引擎。