Z-BlogPHP拓源纯净主题添谷歌、必应搜索记

懋和道人2025年04月20日Z-BlogPHP7875
文章摘要
DaoGPT
此内容根据文章AI生成,并经过人工审核,仅用于文章内容的解释与总结
投诉

尝闻 Z-BlogPHP拓源纯净主题,简约精巧,然搜索之能,仅囿于站内。为扩其搜索之域,增谷歌、必应之搜索功能,以利访客便捷求知,遂着手于主题之 navbar.php 文件,行修改之事。

于 navbar.php 中,寻得搜索代码之处。修改代码如下:

{if $zbp->Config('tpure')->PostSEARCHON=='1'}
    <div class="schico statefixed">
        <a href="JavaScript:;"></a>
        <div class="schfixed">
            <form method="post" name="search" action="#" onsubmit="return handleSearch(this);" tarGET="_blank">
                <input type="text" name="q" placeholder="{if $zbp->Config('tpure')->PostSCHTXT}{$zbp->Config('tpure')->PostSCHTXT}{else}{$lang['tpure']['schtxt']}{/if}" autocomplete="off" class="schinput">
                <select name="engine">
                    <option value="site">站内搜索</option>
                    <option value="google">谷歌搜索</option>
                    <option value="bing">必应搜索</option>
                </select>
                <button type="submit" class="btn"></button>
            </form>
        </div>
    </div>
{/if}
{if $zbp->Config('tpure')->PostSEARCHON=='1'}
    <form method="post" name="search" action="#" onsubmit="return handleSearch(this);" class="sch-m" tarGET="_blank">
        <input type="text" name="q" placeholder="{if $zbp->Config('tpure')->PostSCHTXT}{$zbp->Config('tpure')->PostSCHTXT}{else}{$lang['tpure']['schtxt']}{/if}" autocomplete="off" class="schinput">
        <select name="engine">
            <option value="site">站内搜索</option>
            <option value="google">谷歌搜索</option>
            <option value="bing">必应搜索</option>
        </select>
        <button type="submit" class="btn"></button>
    </form>
{/if}

单含输入框,以供输入搜索词;下拉选框,可择站内、谷歌、必应搜索;并有提交按钮。且设onsubmit事件,关联handleSearch函数,以理搜索逻辑。

复添JavaScript代码,以完搜索功能及样式调整:

<script>
    document.addEventListener('DOMContentLoaded', function() {
        const searchForms = document.querySelectorAll('form[name="search"]');
        searchForms.forEach(form => {
            const input = form.querySelector('.schinput');
            const select = form.querySelector('select');
            const button = form.querySelector('.btn');
            input.style.position ='relative';
            input.style.paddingRight = '100px';
            input.style.boxSizing = 'border-box';
            select.style.position = 'absolute';
            select.style.left = '55%';
            select.style.top = '0';
            select.style.bottom = '0';
            select.style.border = 'none';
            select.style.background = 'transparent';
            select.style.appearance = 'none';
            select.style.webkitAppearance = 'none';
            select.style.mozAppearance = 'none';
            select.style.padding = '0 5px';
            button.style.position = 'absolute';
            if (WINdow.innerWidth < 960) {
                button.style.top = 'auto';
            } else {
                button.style.top = '0';
                button.style.bottom = '0';
            }
            const inputParent = input.parentElement;
            inputParent.insertBefore(select, input.nextSibling);
            inputParent.insertBefore(button, select.nextSibling);
        });
    });

    function handleSearch(form) {
        const query = form.q.value;
        const engine = form.engine.value;
        const domain = "{$host}".replace(/^https?:\/\//, '').replace(/\/$/, '');

        if (engine ==='site') {
            form.action = "{$host}zb_system/cmd.php?act=search";
            return true;
        }

        let fullQuery;
        let URL;

        switch (engine) {
            case 'google':
                fullQuery = "site:" + domain + " " + query;
                URL = "https://www.google.com/search?q=" + encodeURIComponent(fullQuery);
                break;
            case 'bing':
                fullQuery = "site:" + domAIn + " " + query;
                url = "https://www.bing.com/search?q=" + encodeURIComponent(fullQuery);
                break;
        }

        WINdow.open(url, '_blank');
        return false;
    }
</script>

JavaScript代码,待页面DOM加载完毕,即遍历搜索表单,为输入框、下拉框、按钮添样式。依屏幕宽度,若小于960像素,则按钮top样式设为auto;否则,设top与bottom为0。并将下拉框与按钮嵌入输入框父元素,整其顺序。

handleSearch 函数取用户输入词与所选引擎。若为站内搜索,依原逻辑,设表单action为站内搜索地址;若为谷歌或必应搜索,则构含域名与搜索词之链接,于新窗口打开搜索结果,阻表单默认提交。

经此番修改,Z-BlogPHP拓源纯净主题搜索功能得以拓展,访客可按需选搜索引擎,或站内细索,或借谷歌、必应广求,便捷高效,望能为博客增色,予用户佳体验。


扫描二维码推送至手机访问。

版权声明:本文由 南蛮子懋和 发布,如需转载请遵循《声明》注明出处。

本文链接:https://www.dao.js.cn/new/2025042011735.shtml

“Z-BlogPHP拓源纯净主题添谷歌、必应搜索记” 的相关文章

Z-Blog时间因子,提交格式规范

Z-Blog时间因子,提交格式规范

时间因子作为百度和头条搜索的重要评估标准,决定了网页内容在搜索引擎中的表现。通过分析内容的发布时间、更新时间及用户互动时间,搜索引擎能够判断其价值与相关性。定期更新内容,保持页面的新鲜度,并积极引导用...

让Z-Blog评论必须填邮箱、网址等信息

让Z-Blog评论必须填邮箱、网址等信息

鸣谢@隔壁老李、@拓源网、@沉冰浮水、@豫唐网络四位大佬的思路及技术支撑,使得小道又学会了一个巧妙地姿势。缘起啊,说来话长。有位道友找小道换友链,结果在写评论的时候,居然邮箱、主页什么的全都没填,小道...

巧用Cloudflare功能实现Z-BlogPHP智能AI摘要

巧用Cloudflare功能实现Z-BlogPHP智能AI摘要

特别鸣谢@Mayx的鼎力支持,使小道实现了巧用Cloudflare功能实现Z-BlogPHP智能AI摘要的基本功能。思路https://mayx.eu.org/2024/07/03/ai-summar...

Z-BlogPHP调用文章总数、评论总数等常用标签

Z-BlogPHP调用文章总数、评论总数等常用标签

文章总数:{$zbp->cache->all_article_nums} 页面总数:{$zbp->cache->all_page_nums} 标签总数:{$...

升级拓源纯净主题tpure的注意事项

升级拓源纯净主题tpure的注意事项

由于站点已经是PHP高版本,每次升级主题的时候,需要重新下载纯净主题PHP7.4~PHP8邮件通知组件,不然的话整个网站评论会提示没有each函数。一定要长记性,长记性。目前主题的离线IP数据是没有I...

评论列表

叶泯希
叶泯希 Lv.2引炁入体 广东省  Microsoft Edge 135.0.0  Windows 10/11 x64
2025年04月24日

的确很强大

懋和道人不羁的站长  江苏省 南通市 QQBrowser 19.0.6409 Windows 10/11 x64 回复:
我喜爱PHP
2025年04月25日
叶泯希 Lv.2引炁入体  广东省 Microsoft Edge 135.0.0 Windows 10/11 x64 回复:
我都忘光了php 阴间人
2025年04月25日
懋和道人不羁的站长  江苏省 南通市 QQBrowser 19.0.6409 Windows 10/11 x64 回复:
拉倒吧,就这么简单的几行代码,话说你都不睡觉的么?
2025年04月24日
一壶温酒
一壶温酒    Lv.3筑基培元 来自AI星球  MQQBrowser 13.6  Android 12 (Snow Cone)
2025年04月20日

Z-BlogPHP主题纯净且强大,轻松添加谷歌、必应搜索功能记便利操作体验。

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。

请如实填写常用的真实邮箱,方便后续的回复邮件通知。