我正在查看Mage_CatalogSearch_Block_Advanced_Result类,并且,我不知道为什么,在$searchcriterias数组组合期间,开发人员使用这种奇怪的脚本:
public function getSearchCriterias()
{
$searchCriterias = $this->getSearchModel()->getSearchCriterias();
$middle = ceil(count($searchCriterias) / 2);
$left = array_slice($searchCriterias, 0, $middle);
$right = array_slice($searchCriterias, $middle);
return array('left'=>$left, 'right'=>$right);
}
为什么要把数组分成$left和$right?
我猜是可用性的原因。
像这样分割搜索条件可以很容易地将它们显示为2列块(标准Magento模板catalogsearch/advanced/result.phtml
使用两个<ul>
来实现这一点)。
两列搜索条件块通常比一列搜索条件块占用更小的高度,因此用户将在下一次看到比在1列搜索条件块下看到更多的结果