在我的网站上,我有两个菜单顶栏。只有当用户到达滚动的某个点时(我在这里使用了一个简单的jQuery代码),才会显示标题部分和其他内容。这里的问题是两个顶部栏都包含了搜索表单迷你,但只有在第一个渲染(在我的情况下,'#hiddenMenu'顶部栏)ajax实时搜索工作。
仅供您理解, header.phtml 文件:
<div id="hiddenMenu">
<?php echo $this->getChildHtml('topMenu') ?>
<?php echo $this->getChildHtml('topBar') ?>
</div>
<div class="header-container">
<div class="quick-access">
<?php echo $this->getChildHtml('topLinks') ?>
</div>
<div class="header">
<?php if ($this->getIsHomePage()):?>
<h1 class="logo"><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
<?php else:?>
<h1 class="logo"><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
<?php endif?></h1>
</div>
<div id="menu">
<?php echo $this->getChildHtml('topMenu') ?>
<?php echo $this->getChildHtml('topBar') ?>
</div>
<?php echo $this->getChildHtml('topContainer'); ?>
正如您所看到的,两者之间的唯一区别在于它们的位置,因为search.mini.form由 getChildHtml('topBar')调用。但是在search.mini.form的第二次出现中,出于某种原因,ajax实时搜索不起作用。
我的 form.mini.phtml 文件仍然是原始文件:
<?php $catalogSearchHelper = $this->helper('catalogsearch'); ?>
<form id="search_mini_form" action="<?php echo $catalogSearchHelper->getResultUrl() ?>" method="get">
<div class="form-search">
<div class="search-mini">
<input id="search" placeholder="Busque" type="text" name="<?php echo $catalogSearchHelper->getQueryParamName() ?>" class="input-text" />
<button type="submit" title="<?php echo $this->__('Go') ?>" class="button"><img src="<?php echo $this->getSkinUrl('images/ico-search.png') ?>"></button>
</div>
<div id="search_autocomplete" class="search-autocomplete"></div>
<script type="text/javascript">
//<![CDATA[
var searchForm = new Varien.searchForm('search_mini_form', 'search', 'Search');
searchForm.initAutocomplete('<?php echo $catalogSearchHelper->getSuggestUrl() ?>', 'search_autocomplete');
//]]>
</script>
</div>
</form>
有什么想法吗?
答案 0 :(得分:1)
您的两个搜索表单具有相同的名称。
致电时:
new Varien.searchForm('search_mini_form'
它只引用第一个,然后你将Live Search Ajax附加到这个。
只有这一个。
您应该有两个不同的名称,并将Ajax设置为两种形式。
关于