一位客户要求他们的网站做出响应,设计略有更新,同时尽可能保持与原始网站的接近。我们在一个临时站点上安装了Classic Next (轻量级)主题,并为此对主题外观进行了编辑。在某一时刻,快速搜索(该功能会使建议的产品在用户输入时和执行搜索之前立即显示在搜索框的下方--看起来像这样:Functioning BigCommerce quick search.)功能停止工作。我联系了BigCommerce支持,他们建议检查quicksearch.js和search.html文件,这两个文件都没有从原始主题修改。我问是否有更熟悉BigCommerce主题的人有更多的建议,他们告诉我去论坛上看看。
应该触发快速搜索的JavaScript存在,但似乎从未调用过。我在控制台中收到了几个警告-一个是common.js的“返回语句后无法访问的代码”,也没有更改,另一个是“不推荐使用getPreventDefault(),请使用defaultPrevented。”对于jQuery -但是,据我所知,这两个都不应该阻止快速搜索的工作。调试器显示正在加载quicksearch.js。
出现此问题的站点是https://www.brace-mart.com/。
主题出了什么问题,导致快速搜索无法正常工作?小麦文件会导致这样的问题吗?
非常感谢您的帮助!
发布于 2016-09-08 03:12:21
原来这个主题有一个%%Panel.DrawerMenu%%片段,除了破坏快速搜索之外,它似乎没有在网站上做任何事情。我们从56个文件中删除了代码片段,快速搜索开始工作。
编辑:多亏了@tim-EDIT的通知,我们把抽屉菜单放回去了。查看抽屉菜单的代码并尝试,我们最终从抽屉菜单中删除了搜索栏。所以
<div id="DrawerMenu">
<div class="inner">
<div class="drawer-search">
%%Panel.HeaderSearch%%
</div>
%%Panel.SideCategoryList%%
%%Panel.SideShopByBrand%%
%%Panel.SideCategoryShopByPrice%%
%%Panel.SideAdditionalInformation%%
%%Panel.SideAccountNavigation%%
</div>
</div>变成了
<div id="DrawerMenu">
<div class="inner">
%%Panel.SideCategoryList%%
%%Panel.SideShopByBrand%%
%%Panel.SideCategoryShopByPrice%%
%%Panel.SideAdditionalInformation%%
%%Panel.SideAccountNavigation%%
</div>
</div>一旦我们从抽屉菜单中删除了搜索栏,主菜单中的快速搜索就起作用了!我们修改了主搜索栏,使其在标题中始终可见,因为我们无论如何都希望它在标题中可见。
我的理论是,因为页面在主菜单之前加载了抽屉菜单,并且在我们从抽屉菜单中删除搜索栏之前,快速搜索在抽屉菜单中工作,而不是在主菜单中工作,所以快速搜索仅应用于页面上的第一个搜索栏,并且存在某种(可能与主题相关的)错误,从而阻止其应用到第二个搜索栏。但这只是一个理论。。。
https://stackoverflow.com/questions/39233642
复制相似问题