2017-11-18 6 views
0

現在カテゴリに商品が含まれている場合は、商品リストが表示されます。ただし、カテゴリに一連の製品&のサブカテゴリが含まれている場合は、製品ではなくサブカテゴリのみが表示されます。magento 1.9カテゴリビューのlist.phtmlファイル:サブカテゴリが存在する場合でも製品を表示できますか?

カテゴリに製品とサブカテゴリが含まれている場合、メインの表示領域のサブカテゴリではなく、ユーザーに製品を一覧表示する必要があります。既に、サイドバーにサブカテゴリの一覧が表示されています。

これは私の現在のlist.phtmlです:https://bpaste.net/show/66110a7264bc

私はそれが製品を示す優先順位を持つようにlist.phtmlにしなければならないでしょうか? 5つの商品と5つのサブカテゴリを持つカテゴリがあるとします。サブカテゴリはすでにサイドに表示されているので、カテゴリ内の製品のリストを表示したいと思います。私は最初の行のために考えています

製品は< 1であれば、

<?php if (count($subCatIds) > 1) { ?> 

は、サブカテゴリのリストを表示し、に関連するものでなければなりません。だから私は、それが製品の数は、その後のサブカテゴリを示し、0であれば

<?php if (count($productCollection) < 1) { ?> 

私の思考プロセスは、だったと言う作ったが、それはそのようにワークアウトされていません。

私には何が欠けていますか?

+0

デモのWebサイトのURLを送信してください。 – stalinrajindian

答えて

0

(あなたが正確にどこのサブカテゴリ、製品または両方のみを表示するように知っていれば)私はこの方法で問題を解決するだろう:Magentoの管理パネルで

1.カテゴリ編集ページには、タブ「表示設定」を持っています「表示モード」と「CMSブロック」のフィールドがあります。 [製品のみ]モードを選択すると、カテゴリページに唯一の商品が表示されます。 [静的ブロックのみ]モードを選択すると、[CMSブロック]フィールドで選択されたモードブロックのみがカテゴリページに表示されます。 「静的ブロックと製品」を選択した場合、Magentoには両方が表示されます。静的ブロックが最初、製品リスト - 2番目です。

あなたはカタログ内のロジックを見つけることができます/カテゴリ/ view.phtml

<?php if($this->isContentMode()): ?> 
<?php echo $this->getCmsBlockHtml() ?> 

<?php elseif($this->isMixedMode()): ?> 
    <?php echo $this->getCmsBlockHtml() ?> 
    <?php echo $this->getProductListHtml() ?> 

<?php else: ?> 
    <?php echo $this->getProductListHtml() ?> 
<?php endif; ?> 

2.You、現在のカテゴリの下位カテゴリーでCMSブロックを作成する「CMSブロック」フィールドに設定することができ、現在のカテゴリに必要な「表示モード」のオプションを選択します。

それとも

1.Youは、カタログ/カテゴリ/ view.phtmlのロジックに条件を追加しようとするかもしれない - 現在のカテゴリが製品を持っている場合:

$products = Mage::getModel('catalog/product') 
->getCollection() 
->addCategoryFilter($category) 

それとも

1. elseifをlist.phtmlの条件に追加します。

<?php if ($_categoryCollection) : ?> 
... 
<?php elseif (!$_productCollection->count()): ?> 
... 
<?php else: ?> 
... 
<?php endif; ?> 

2。$_categoryCollectionは次のとおりです。

$currentCategory = Mage::registry('current_category'); 

$collection = Mage::getResourceModel('catalog/category_collection') 
      ->setStore(Mage::app()->getStore()) 
      ->addAttributeToSelect('name') 
      ->addAttributeToSort('name','ASC') 
      ->addAttributeToSelect('url_key') 
      ->addAttributeToSelect('image') 
      ->addFieldToFilter('parent_id', $currentCategory->getEntityId()) 
      ->addFieldToFilter('is_active', 1) 
      ->load(); 

ソリューションが合わない場合は、list.phtmlのコード(あなたのリンクが404を返す)、カタログ/カテゴリ/ view.phtml、あなたが表示されている方法を示してください。サブカテゴリ。

関連する問題