Magento 2 RC - 無効なブロックタイプ
-
13-12-2019 - |
質問
マゼント2 1.0.0ベータのMagentoの拡張子を作成しました。今私はMagento 2 RCのためにこの拡張機能を手に入れようとしていますが、それを理解することはできません。私が持っているものは、ブロックショーを作成する非常に単純な拡張子です。拡張機能はMagento 1.0.0 Betaで完璧に機能しましたが、このエラーはこのエラーを示します。無効なブロックタイプ:\ SL \ SideBar \ Block \ Sidebar。拡張機能が正しくインストールされています。これは私のブロックのコードです:
namespace SL\Sidebar\Block;
use Magento\Framework\View\Element\Template;
class Sidebar extends Template {
/**
* @var \Magento\Catalog\Helper\Category
*/
protected $_categoryHelper;
/**
* @var \Magento\Framework\Registry
*/
protected $_coreRegistry;
/**
* @var \Magento\Catalog\Model\Indexer\Category\Flat\State
*/
protected $categoryFlatConfig;
/**
* @param Template\Context $context
* @param \Magento\Catalog\Helper\Category $categoryHelper
* @param \Magento\Framework\Registry $registry
* @param \Magento\Catalog\Model\Indexer\Category\Flat\State $categoryFlatState
*/
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Catalog\Helper\Category $categoryHelper,
\Magento\Framework\Registry $registry,
\Magento\Catalog\Model\Indexer\Category\Flat\State $categoryFlatState,
$data = []
) {
$this->_categoryHelper = $categoryHelper;
$this->_coreRegistry = $registry;
$this->categoryFlatConfig = $categoryFlatState;
parent::__construct($context, $data);
}
/**
* Get all categories
*
* @return array|\Magento\Catalog\Model\Resource\Category\Collection|\Magento\Framework\Data\Tree\Node\Collection
*/
public function getCategories()
{
return $this->_categoryHelper->getStoreCategories();
}
}
.
それから私のテーマで私はこのようなブロックをロードします:
<block class="SL\Sidebar\Block\Sidebar" name="category-sidebar" template="Magento_Theme::html/sidebar.phtml" />
.
retriseation.php:
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'SL_Sidebar',
__DIR__
);
.
拡張はMagento 1.0.0ベータで完璧に機能しました。誰もがここで問題を知っていますか?
解決
私は私のセットアップと同じ問題を持っていました。
Magento 2がComposerインストーラとともにインストールされている場合、オートローダはクラスを見つけることができませんでした。
これを解決するには、root composer.jsonファイルのpsr-4
セクションに次の行を追加する必要があります。
"SL\\": "app/code/SL/"
.
composer install
を実行し、クラスが見つかります
所属していません magento.stackexchange