2017-12-10 13 views
0

Magentoで注目商品の商品リストを作成しようとしています。特集商品のテンプレートがnullです

{{block class="MyModule\MySite\Block\Products\Featured" template="WorkingModule_WorkingSite::products/featured_carousel2.phtml" limit="10" category_id="71" block_name="Featured Products"}} 
{{block class="Magento\Catalog\Block\Product\ListProduct" template="WorkingModule_WorkingSite::products/featured_carousel2.phtml" limit="10" category_id="71" block_name="Featured Products"}} 

何ものために表示されない:、私は(第2ラインが働いているコードを)働いている1行を複製、私のページで

<?php 

namespace MyModule\MySite\Block\Products; 

class Featured extends \Magento\Catalog\Block\Product\ListProduct 
{ 
    /** 
    * Catalog product visibility 
    * 
    * @var \Magento\Catalog\Model\Product\Visibility 
    */ 
    protected $_catalogProductVisibility; 

    /** 
    * Product collection factory 
    * 
    * @var \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory 
    */ 
    protected $_productCollectionFactory; 


    /** 
    * @var CategoryRepositoryInterface 
    */ 
    protected $categoryRepository; 

    public function __construct(
     \Magento\Catalog\Block\Product\Context $context, 
     \Magento\Framework\Data\Helper\PostHelper $postDataHelper, 
     \Magento\Catalog\Model\Layer\Resolver $layerResolver, 
     \Magento\Catalog\Api\CategoryRepositoryInterface $categoryRepository, 
     \Magento\Framework\Url\Helper\Data $urlHelper, 
     \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility, 
     \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory, 
     array $data = [] 

    ) { 
     $this->_productCollectionFactory = $productCollectionFactory; 
     $this->_catalogProductVisibility = $catalogProductVisibility; 
     parent::__construct($context, $postDataHelper, $layerResolver,$categoryRepository,$urlHelper,$data); 
    } 

    protected function _getProductCollection(){ 
     $collection = $this->_productCollectionFactory->create() 
      ->addAttributeToFilter('status', '1') 
      ->addAttributeToFilter('featured', '1'); 
     $collection->setVisibility($this->_catalogProductVisibility->getVisibleInCatalogIds()); 
     $collection = $this->_addProductAttributesAndPrices($collection) 
      ->setPageSize(4) 
      ->setCurPage(1); 

     return $collection; 
    } 
} 

: は、私は、ファイルapp/code/MyModule/MySite/Block/Products/Featured.phpに次のコードを書きました最初の行と私がデバッグしたとき、getTemplate()はnullのようです。 誰かが私が間違っていることを見ていますか?

答えて

0

Magento 2で特集した製品の製品リストを作成しようとしているだけの場合。カスタムモジュールを作成する必要はありません。それは単純だ。次の手順を実行します。

  1. コピーベンダー/ Magentoの/モジュールカタログ/ビュー/フロントエンド/テンプレート/製品/ list.phtmlファイルとパスのアプリ/設計/フロントエンド/ベンダー/テーマ/ Magento_Catalog /テンプレート/製品に貼り付け/ list.phtml
  2. features_carousel2.phtmlでこのファイルの名前を変更してください
  3. スライダーのjsコードを追加してください。
  4. 次に、追加する下のコードを貼り付けます。

    {{block class="Magento\Catalog\Block\Product\ListProduct" template="Magento_Catalog::product/featured_carousel2.phtml" limit="10" category_id="71" block_name="Featured Products"}} 
    
関連する問題