Magento 2 RC - 无效块类型
-
13-12-2019 - |
题
我在magento 2 1.0.0 beta上创建了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" />
.
注册:
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'SL_Sidebar',
__DIR__
);
.
扩展确实在Magento 1.0.0 Beta上工作完美。有谁知道这里的问题吗?
解决方案
我的设置有同样的问题。
当使用Composer安装程序安装Magento 2时,Autoloader无法找到该类。
要解决此问题,您必须在root composer.json文件的psr-4
部分中添加以下行。
"SL\\": "app/code/SL/"
.
然后,运行生成composer install
和该类将被找到