2014-09-23 76 views
0

我想集成和编辑过滤器功能。Magento集成过滤器

我有这样的代码:

<?php $_filters = $this->getFilters() ?> 
     <?php foreach ($_filters as $_filter): ?> 
      <?php if($_filter->getItemsCount()): ?> 
       <div class="option-combo <?php echo $this->__($_filter->getName()) ?>">   
        <ul class="filter option-set clearfix " data-filter-group="<?php echo $this->__($_filter->getName()) ?>"> 
         <li><h4><?php echo $this->__($_filter->getName()) ?> : </h4></li> 
         <li><a href="#filter-<?php echo $this->__($_filter->getName()) ?>-any" data-filter-value="" class="selected">All</a></li> 

          <?php echo $_filter->getHtml() ?>                 
        </ul> 
       </div>  

      <?php endif; ?> 
     <?php endforeach; ?>> 

和它的作品,但我不想调用另一个EXTERN PHTML文件(filter.phtml,从$ _filter-> getHtml()),但是当我复制代码从filter.phtml直接进入我的主页面,如下所示:

<?php $_filters = $this->getFilters() ?> 
<?php foreach ($_filters as $_filter): ?> 
    <?php if($_filter->getItemsCount()): ?> 
     <div class="option-combo <?php echo $this->__($_filter->getName()) ?>">   
      <ul class="filter option-set clearfix " data-filter-group="<?php echo $this->__($_filter->getName()) ?>"> 
       <li><h4><?php echo $this->__($_filter->getName()) ?> : </h4></li> 
       <li><a href="#filter-<?php echo $this->__($_filter->getName()) ?>-any" data-filter-value="" class="selected">All</a></li> 

        <!-- I want to remove this external call and paste directly the content in it --> 
        <?php //echo $_filter->getHtml() ?> 

        <?php foreach ($this->getItems() as $_item): ?> 

         <?php if ($_item->getCount() > 0): ?> 

          <?php $Clean = $_item->getLabel();  ?>                
          <li style="display:none"><a href="#filter-<?php echo $_item->getLabel() ?>-<?php echo $Clean ?>" data-filter-value=".<?php echo $Clean ?>"><?php echo $_item->getLabel() ?></a></li> 
          <li><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; ?> 
        </li> 
       <?php endforeach ?> 
      </ul> 
     </div> 
    <?php endif; ?> 
<?php endforeach; ?> 

它不显示任何结果...并且没有错误!

回答

0

你可以试试下面的代码: -

<?php $_filters = $this->getFilters() ?> 
      <?php foreach ($_filters as $_filter): ?> 
      <?php if($_filter->getItemsCount()): ?> 
       <dt><?php echo $this->__($_filter->getName()) ?></dt> 
       <dd><?php echo $_filter->getHtml() ?></dd> 
      <?php else:?> 
       // here you can add own code 
      <?php endif; ?> 
      <?php endforeach; ?> 
+0

谢谢,但我的问题,这是我想从filter.phtml代码直接添加我的主文件(view.phtml)。 如果我这样做,它不显示任何结果。 – Kaherdin 2014-09-23 14:20:47

+0

哪个view.phtml文件?在目录/类别/ view.phtml? – 2014-09-23 14:31:34

+0

catalog/layer/view.phtml – Kaherdin 2014-09-23 14:52:13