2
在我的網站,我有兩個菜單頂部酒吧。一個留在標題部分,另一個只在用戶到達滾動某個點時顯示(我在這裏使用了一個簡單的jQuery代碼)。這裏的問題是,兩個頂欄都包含了Search Form Mini,但只在第一個呈現的內容中(在我的情況下是'#hiddenMenu'頂欄)ajax實時搜索工作。Magento搜索表迷你重複功能障礙
只爲你明白,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>
任何想法?
感謝您的幫助,但爲表單設置不同的名稱並未解決問題。現在,我正在嘗試設置不同的Ajax事件。走着瞧吧。 – akplebani 2013-02-15 16:15:16
Dagfr,儘管只是改變了表格的名稱並沒有解決我的問題,但它是擋道的。我還必須更改輸入名稱和自動完成ID。我只添加了一個sufix('_hidden'在這種情況下,它的工作,我也必須保證Ajax調用的一致性:var searchForm = new Varien.searchForm('search_menu_hidden','search_hidden',''); searchForm.initAutocomplete('<?php echo $ catalogSearchHelper-> getSuggestUrl()?>','search_autocomplete_hidden'); – akplebani 2013-02-15 16:55:57