求助:怎么修改首页直接点击搜索按钮默认跳转的页面

2016-07-07 16:50 来源:www.chinab4c.com 作者:ecshop专家

请教大家 怎么修改 首页不输入任何搜索内容 直接点击搜索按钮默认跳转的页面

ECMALL默认跳转的是商品页面

淘宝默认跳转的是大分类页面

我想知道 首页按钮跳转的代码在哪里 我想修改一下

回答:
你在搜索函数中判断,如果没有任何搜索变量则直接跳转到某一个固定页面即可。

tianyan 能不能给我详细的指导一下

具体在哪一个页面做这个 我找过 很多页面都没有

包括themes/mall/default下的 header.html

从中找到

<form method="GET">
<div class="search_border">
<div class="search_line"></div>
<span class="select_span">
<select name="act" class="select_style">
<option value="index">{$lang.search_goods}</option>
<option value="store">{$lang.search_store}</option>
</select>
</span>
<input type="text" name="keyword" class="text w300 select_intup" />
</div>
<input type="hidden" name="app" value="search" />
<input type="submit" name="Submit" value="{$lang.search}" class="btn bold_white" />
</form>

找到首页搜索的那个按钮 是通过form标签 GET

我找到第二个文件是 search_goods.js 也没有找到

请高手指点

我不确定这样改对不对,但好像行得通
在app/search.app.php里找到

// 关键字
$keyword = trim($_GET['keyword']);
if (!empty($keyword))
{
$conditions .= " AND goods_name LIKE '%{$keyword}%' ";
$filters['keyword'] = array('key' => 'keyword', 'name' => LANG::get('keyword'), 'value' => $keyword);
}

改成

// 关键字
$keyword = trim($_GET['keyword']);
if (empty($keyword))
{
$this->display('你要连结的网页');
}
else{
$conditions .= " AND goods_name LIKE '%{$keyword}%' ";
$filters['keyword'] = array('key' => 'keyword', 'name' => LANG::get('keyword'), 'value' => $keyword);
}

有不完善的地方请高手补充

谢谢 gina520这个朋友的详细说明

不好意思的是 我试验了一下 不好用

我仔细想想 他判断的是非空情况下 就是正常情况下输入关键字 后进行的操作

// 关键字
$keyword = trim($_GET['keyword']);
if (!empty($keyword)) //非空情况下,就是正常情况下
{
$conditions .= " AND goods_name LIKE '%{$keyword}%' ";
$filters[] = array('key' => 'keyword', 'name' => LANG::get('keyword'), 'value' => $keyword);
}

但是我注意到 他没有写出为空情况下的跳转关键字

gina520朋友的方法是 自己加一个为空的判断,但是不好用。我怀疑网站自己已经对为空情况下进行了判断。所以我们这么写就重复了。

所以我想解决方法应该是找到他自己的判断为空的代码位置加以修改。

如果有做过的朋友可以跟帖指点。

再次谢谢gina520这位朋友的帮忙。谢谢。


我在发一个想法 可不可以使用Javascript在本地实现这个功能 就是做一个文本框的验证 如果为空 则不提交服务器 直接跳转一个URL 我自己先研究一下 现提出一个方向。

我已经研究出来了

下面说一下做法

思路同gina520朋友的思路 判断关键为空的方法

// 关键字
$keyword = trim($_GET['keyword']);
if (empty($keyword))
{
Header("Location: /index.php?app=category");要跳转的页面 这里是跳转到分类页面
}
else
{
$conditions .= " AND goods_name LIKE '%{$keyword}%' ";
$filters[] = array('key' => 'keyword', 'name' => LANG::get('keyword'), 'value' => $keyword);
}

一开始无法实现的原因在于 php跳转URL的方法不对 改下 就好了。


不对 出现问题 分类下只要是调用到搜索方法的页面都自动跳转回来 就是说你在大分类页面里随便点一个连接 因为搜索页面没有填写东西 所以都会跳转回来

呵呵! 我们俩在这儿弄了老半天, 2.1版的搜索引擎似乎已经修改这个问题, 看官方的测试网站, keyword为空时, 页面跳转到全部分类....

对啊 我发现了 刚才发现 哈哈