質問

マゼント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を実行し、クラスが見つかります

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top