你现在的位置:首页 > PHP网站建设知识库 > magento > 正文

优化magento热门搜索词模块

magento自带的展示热门用户自行搜索的模块是存在的,不过由于用户搜索次数,等等各种原因导致它出现各种问题,而我们又想把此模块展现在边栏区域或是FOOTER区域中,增加网站SEO关键词密度。
可以做如下操作:
 
把下面的代码,拷贝到记事本,以UTF-8形式另存为 \app\design\frontend\****\template\catalogsearch\term.phtml
 
ENG:copy the code below into Notepad, Save it as \app\design\frontend\*****\template\catalogsearch\term.phtml in UTF-8
<?php
/**
* Magento
*/
?>
<div class="box base-mini mini-cart">
<div class="head">
<h4><?php echo $this->__('Popular Search Terms') ?></h4>
</div>
<?php if( sizeof($this->getTerms()) > 0 ): ?>
 
<div class="content" id="popSearchTerms">
<ul class="bare-list">
<?php
$i = 0;
$getRatioSort = $this->getTerms();
 
//小对热门关键字数组进行降序排序
foreach ($getRatioSort as $key => $row) {
$volume[$key] = $row->getRatio();//获取排序用的列标识
 
}
 
array_multisort($volume, SORT_DESC, $getRatioSort);//根据获取排序用的列标识,进行排序
 
 
foreach ($getRatioSort as $_term)://循环输出排序结果
 
if ($i>50)//只循环输出最多50个产品
{
break;
}
 
else if ($_term->getRatio() > 0.5)//热度不得低于0.5
{
?>
 
<li><a href="<?php echo $this->getSearchUrl($_term) ?>" style="font-size:<?php echo $_term->getRatio()*70+75 ?>%;"><?php echo $this->htmlEscape($_term->getName()) ?></a></li>
<?php
$i++;
}
 
endforeach; ?>
</ul>
</div>
 
<?php else: ?>
<div class="note-msg">
<?php echo $this->__('There are no search terms available.'); ?>
</div>
<?php endif ?>
</div>
在任意想要调用的布局XML中增加
<reference name="right">
<block type="catalogsearch/term" name="catalogsearch.term" template="catalogsearch/term.phtml" /> 
    </reference>
 
完成。。。通过用phtml文件的设置控制搜索词汇输出的数量及热度关系,达到增加效果的目的