我正在通过更改OpenCart 2.0.2.0的默认模板代码来设计自己的模板。重新定位“搜索”字段后,它将不再起作用:按Enter键不会提交,并且在单击表单中的搜索按钮时,不会在URL中提交搜索值(表单提交)。
为了尝试找到重新定位输入字段时出现的问题,我在我的WampSever上进行了全新的OpenCart安装,并且没有改变任何其他内容,我将输入字段移动到主导航,紧跟在类别之后UL - 只需复制打印搜索模板的PHP标记:
<?php echo $search; ?>
没有别的。表单按键盘上的Enter键提交,并在单击搜索按钮时提交,但搜索参数不再附加到URL,例如
http://localhost/opencart/index.php?route=product/search&search=macbook
我需要你的帮助才能找出发生这种情况的原因以及如何在不失去其功能的情况下移动搜索字段。我想这是Javascript相关但不确定如何。
答案 0 :(得分:2)
回答我自己的问题: 是的,它与Javascript有关。由于搜索输入字段未包含在a中,为了提交它并获得搜索查询,已经编写了两个jQuery函数(在catalog / view / javascript / common.js中,第64-81行)。 这些函数通过首先引用输入最初所在的位置来获取搜索输入值:
[第68行]
var value = $('header input[name=\'search\']').val();
[第79行]
$('header input[name=\'search\']').parent().find('button').trigger('click');
为了使它工作,我不得不替换&#34; header&#34;的两个实例。使用菜单的ID:
var value = $('#menu input[name=\'search\']').val();
然后排序! 希望这有助于像我这样的其他OpenCart初学者:)