1) перейдіть до програми за допомогою кореневого каталогу Magento 2 та створіть новий код каталогу. Потім створіть ще два каталоги в додатку / коді , просторі імен та назві модуля. Заключний каталог буде виглядати приблизно так : app / code / Demo / CategoryTree .
Демонструйте як простір імен та CategoryTree як ім'я модуля.
2) створити файл "module.xml" у додатку / код / Демо / КатегоріяДрево / тощо та вставити нижче код у файл:
<?xml version="1.0"?>
<!--
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Demo_CategoryTree" setup_version="1.0.0">
<sequence>
<module name="Magento_Catalog"/>
</sequence>
</module>
</config>
3) створити файл "route.xml" у додатку / код / Демо / Категорія Дерево / тощо / frontend та вставити нижче код у файл:
<?xml version="1.0"?>
<!--
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="categorytree" frontName="categorytree">
<module name="Demo_CategoryTree" />
</route>
</router>
</config>
4) створити файл "registration.php" у додатку / код / Демо / КатегоріяДрево та вставити нижче код у файл:
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Demo_CategoryTree',
__DIR__
);
5) створити файл "Index.php" у додатку / код / Демо / КатегоріяТрева / Контролер / Індекс та вставити нижче код у файл:
<?php
/**
*
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Demo\CategoryTree\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
/**
* @var \Magento\Framework\View\Result\PageFactory $resultPageFactory
*/
protected $resultPageFactory;
/**
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
*/
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
$this->resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
/**
* Renders CATEGORYTREE Index page
*
* @param string|null $coreRoute
* @return \Magento\Framework\Controller\Result\Forward
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function execute($coreRoute = null)
{
$resultPage = $this->resultPageFactory->create();
$resultPage->getConfig()->getTitle()->set(__('CategoryTree'));
return $resultPage;
}
}
6) створити файл "categorytree_index_index.xml" у додатку / код / Демо / КатегоріяДрево / перегляд / frontend / макет та вставити нижче код у файл:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<update handle="styles"/>
<head>
<css src="extjs/resources/css/ext-all.css"/>
<css src="extjs/resources/css/ytheme-magento.css"/>
</head>
<body>
<referenceContainer name="sidebar.additional">
<block class="Magento\Catalog\Block\Adminhtml\Category\Tree" name="category.tree" template="Demo_CategoryTree::catalog/category/tree.phtml"/>
</referenceContainer>
</body>
</page>
7) копіювати з постачальника / magento / модуль-каталог / view / adminhtml / templates / каталог / категорія / tree.phtml у додаток / код / Demo / CategoryTree / view / frontend / шаблони / каталог / категорія
8) створити файл "Requjs-config.js" у додатку / код / Демо / КатегоріяДрево / перегляд / фронтенд та вставити нижче код у файл:
var config = {
"shim": {
"extjs/ext-tree": [
"prototype"
],
"extjs/ext-tree-checkbox": [
"extjs/ext-tree",
"extjs/defaults"
]
}
};
9) Виконайте команди нижче в кореневому каталозі:
php bin/magento setup:upgrade
php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento setup:static-content:deploy
10) запустіть URL-адресу на зразок цього " http://local-magento.com/categorytree/index/index ", тому ви отримаєте вихід, як показано нижче.