확인해야 할 사항 : 1. 'catalog / layer_view'블록을 재정 의하여 고유 한 템플릿을 설정하십시오. 1 열 레이아웃의 일부로 레이어 영역 탐색을 헤더 영역에 넣습니다.
<layout>
<catalog_category_layered>
<reference name="header">
<block type="catalog/layer_view" name="mylayered" template="mymodule/catalog/layer/view.phtml"/>
</reference>
</catalog_category_layered>
</layout>
해당 템플릿 파일에서 개별 요소에 대해 재정의 된 템플릿을 지정해야합니다.
<?php if($this->canShowBlock()): ?>
<div class="block block-layered-nav">
<div class="block-title">
<strong><span><?php echo $this->__('Shop By') ?></span></strong>
</div>
<div class="block-content">
<?php echo $this->getStateHtml() ?>
<?php if ($this->getLayer()->getState()->getFilters()): ?>
<div class="actions"><a href="<?php echo $this->getClearUrl() ?>"><?php echo $this->__('Clear All') ?></a></div>
<?php endif; ?>
<?php if($this->canShowOptions()): ?>
<p class="block-subtitle"><?php echo $this->__('Shopping Options') ?></p>
<dl id="narrow-by-list">
<?php $_filters = $this->getFilters() ?>
<?php foreach ($_filters as $_filter): ?>
<?php /* !!! HERE !!! */ ?>
<?php if(some_condition == true){ $_filter->setTemplate('path/to/your/new/filter.phtml'); } ?>
<?php if($_filter->getItemsCount()): ?>
<dt><?php echo $this->__($_filter->getName()) ?></dt>
<dd><?php echo $_filter->getHtml() ?></dd>
<?php endif; ?>
<?php endforeach; ?>
</dl>
<script type="text/javascript">decorateDataList('narrow-by-list')</script>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
마지막으로 드롭 다운 filter.phtml을 만들어야합니다. 그것은 간단해야합니다. 이 편집기에서 문제가 발생하여 형식이 잘못되었지만 일반적인 아이디어는 여기에 있습니다. 일부 자바 스크립트도 필요합니다.
<ol>
<li><select>
<?php foreach ($this->getItems() as $_item): ?>
<option value="<?php echo $this->urlEscape($_item->getUrl()); ?>">
<?php if ($_item->getCount() > 0): ?>
<a href="<?php echo $this->urlEscape($_item->getUrl()) ?>"><?php echo $_item->getLabel() ?></a>
<?php else: echo $_item->getLabel() ?>
<?php endif; ?>
<?php if ($this->shouldDisplayProductCount()): ?>
(<?php echo $_item->getCount() ?>)
<?php endif; ?>
</option>
<?php endforeach ?>
</select></li>
</ol>