2015-11-05 66 views
2

我正在嘗試使可摺疊Mgento商店的產品過濾器。我嘗試編輯template/category/layer/view.phtml中的view.phtml,但它不工作。讓Magento 1.9產品過濾器可摺疊

我編輯了這些線:<dt><?php echo $this->__($_filter->getName()) ?></dt>

<dt><a href="/"><?php echo $this->__($_filter->getName()) ?></a></dt>

,我加入了一些jQuery的是這樣的:

<script type="text/javascript"> 
    /* <![CDATA[ */ 
    jQuery(document).ready(function(){ 
     jQuery("dl#narrow-by-list> dd:not(:first)").hide(); 
     jQuery("dl#narrow-by-list> dt a").click(function(){ 
      jQuery("dl#narrow-by-list> dd:visible").slideUp("fast"); 
      jQuery(this).parent().next().slideDown("fast"); 
      return false; 
     }); 
    }); 
    /* ]]> */ 
</script> 

當前代碼:

?> 
<?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 if($_filter->getItemsCount()): ?> 
        <div class="<?php if(strcasecmp($_filter->getName(), 'PRICE') == 0) echo 'layered-price'; else echo 'layered-attribute'; ?>"> 
         <div class="title-layered"><dt><a href="/"><?php echo $this->__($_filter->getName()) ?></a></dt></div> 
         <dd><?php echo $_filter->getHtml() ?></dd> 
        </div> 
       <?php endif; ?> 
       <?php endforeach; ?> 
      </dl> 
      <script type="text/javascript">decorateDataList('narrow-by-list')</script> 
     <?php endif; ?> 
    </div> 
</div> 
<?php endif; ?> 
<script type="text/javascript"> 
    /* <![CDATA[ */ 
    jQuery(document).ready(function(){ 
     jQuery("#narrow-by-list> dd:not(:first)").hide(); 
     jQuery("#narrow-by-list> dt a").click(function(){ 
      jQuery("#narrow-by-list> dd:visible").slideUp("fast"); 
      jQuery(this).parent().next().slideDown("fast"); 
      return false; 
     }); 
    }); 
    /* ]]> */ 
</script> 

任何人任何想法,爲什麼這不管用?

<dt><a href="javascript:void(0)"> <?php echo $this->__($_filter->getName()) ?></a></dt> 

,然後你的jQuery單擊功能將被觸發像往常一樣:

回答

0

你的鏈接標籤

你就可以欺騙這個href屬性你的JavaScript進行了點擊事件。

+0

那我做我的jQuery更新到這個訣竅: 「(函數($){$ (文件)。就緒(函數(){ $( 「#窄通過列表DD」)。 hide(); $(「。layered-nav dt a」)。bind(「click」,function(){(this).parent()。next()。slideToggle(); return false; }) }); })(jQuery);' 我現在要做什麼,只有當屏幕是一定的寬度,以便菜單項只在手機上摺疊,任何想法如何做到這一點? –

+0

如果您遇到新問題和新問題,好的行爲是再次詢問另一個帖子並驗證當前問題。 –