javascript - 如何在标题搜索 Magento 中显示带有类别过滤器的产品

标签 javascript ajax forms magento magento-1.9

我正在尝试在标题搜索中显示基于类别的自动建议结果,

form.mini.phtml

<form id="search_mini_form" action="<?php echo $catalogSearchHelper->getResultUrl() ?>" method="get">   
     <select id="select-category" title="Select your category" name="cat">
        <option value="0" selected>Select category</option>
        <?php
           foreach ($categoryCollection as $category) { ?>
            <option value="<?php echo $category->getId(); ?>"><?php echo $category->getName(); ?></option>
         <?php } ?>
     </select>
     <div class="input-box">
        <label for="search"><?php echo $this->__('Search:') ?></label>
        <input id="search" type="search" name="<?php echo $catalogSearchHelper->getQueryParamName() ?>" value="<?php echo $catalogSearchHelper->getEscapedQueryText() ?>" class="input-text required-entry" maxlength="<?php echo $catalogSearchHelper->getMaxQueryLength();?>" placeholder="<?php echo $this->__('Search entire store here...') ?>" />
         <button type="submit" title="<?php echo $this->__('Search') ?>" class="button search-button"><span><span><?php echo $this->__('Search') ?></span></span></button>
    </div>    
    <div id="search_autocomplete" class="search-autocomplete"></div>
    <script type="text/javascript">
      //<![CDATA[
         var searchForm = new Varien.searchForm('search_mini_form', 'search', '');
         searchForm.initAutocomplete('<?php echo $catalogSearchHelper->getSuggestUrl() ?>', 'search_autocomplete');
        //]]>
   </script>
</form>

enter image description here

在这个表单中,当我在输入框中输入 ajax 请求时,就像这样传递

http://127.0.0.1/site/catalogsearch/ajax/suggest/?q=bla

但选定的 cat 值不包含在此网址中,如何在 ajax/suggest 网址中包含 Cat="bla",如

http://127.0.0.1/site/catalogsearch/ajax/suggest/?q=bla&cat=bla

谢谢!

最佳答案

如果您在任何类别页面上实现了此搜索功能,您可以从以下位置获取类别 ID 以在 Controller 中进行过滤:

Mage::registry('current_category')->getId();

如果您仍希望编辑除类别页面之外的页面的ajax调用,您可以在以下位置编辑:

magento/js/varien/js.js(调试 initAutocomplete 函数)

关于javascript - 如何在标题搜索 Magento 中显示带有类别过滤器的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824119/

相关文章:

javascript - 将 jQuery 脚本挂接到 &lt;input&gt; 和 <button> 标签中

javascript - Bootstrap 折叠功能从验证触发 - 如何避免?

javascript - 通过离开页面防止丢失表单数据

javascript - 显示当前选项卡 javascript

javascript - 有人可以解释为什么/如何不需要在 Action 创建者中为同步函数分派(dispatch) Action 吗?

javascript - CSS - 过渡在 JavaScript for 循环中无法正常工作

javascript - 实习生 AJAX 单元测试

javascript - 动态复选框列表不显示数据

javascript - 当单击粗体或斜体标签时光标位于中间?

php - HTML 表单单选按钮不起作用