Tôi mới dùng magento2.
Tôi muốn tạo mô-đun Hello World đơn giản trong magento 2.
Làm thế nào để tạo mô-đun này?
Tôi mới dùng magento2.
Tôi muốn tạo mô-đun Hello World đơn giản trong magento 2.
Làm thế nào để tạo mô-đun này?
Câu trả lời:
Vâng, đây là một câu hỏi rộng nhưng lời khuyên tốt nhất của tôi sẽ là kiểm tra các mẫu Magento 2 chính thức.
Bạn có thể tìm thấy chúng ở đây: https://github.com/magento/magento2-samples
Dự án này là tập hợp các mẫu để trình diễn các công nghệ được giới thiệu trong Magento 2. Bạn sẽ tìm thấy phần mở rộng đơn giản nhất cùng với các mẫu tăng dần các tính năng để đưa bạn qua khám phá và giáo dục nền tảng Magento 2.
Trên hết, bạn có thể tìm thấy nhiều hướng dẫn nếu bạn tìm kiếm "mô-đun tạo magento 2" trong Google
Hãy đặt tên cho mô-đun StackExchange_HelloWorld
.
bạn sẽ cần những tập tin này:
app/code/StackExchange/HelloWorld/registration.php
- hồ sơ đăng ký
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'StackExchange_HelloWorld',
__DIR__
);
app/code/StackExchange/HelloWorld/etc/module.xml
- tệp khai báo mô-đun
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="StackExchange_HelloWorld" setup_version="2.0.0" />
</config>
app/code/StackExchange/HelloWorld/etc/frontend/routes.xml
- tập tin định tuyến lối vào
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="helloworld" frontName="helloworld">
<module name="StackExchange_HelloWorld" />
</route>
</router>
</config>
app/code/StackExchange/HelloWorld/Controller/Index/Index.php
- bộ điều khiển chỉ mục
<?php
namespace StackExchange\HelloWorld\Controller\Index;
use Magento\Framework\App\Action\Context;
use Magento\Framework\View\Result\PageFactory;
class Index extends \Magento\Framework\App\Action\Action
{
protected $resultPageFactory;
public function __construct(
Context $context,
PageFactory $resultPageFactory
)
{
parent::__construct($context);
$this->resultPageFactory = $resultPageFactory;
}
public function execute()
{
$resultPage = $this->resultPageFactory->create();
$resultPage->getConfig()->getTitle()->set(__('Hello World'));
return $resultPage;
}
}
app/code/StackExchange/HelloWorld/view/frontend/layout/helloworld_index_index.xml
- tập tin bố trí
<?xml version="1.0"?>
<page layout="2columns-left" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<block class="Magento\Framework\View\Element\Template" template="StackExchange_HelloWorld::index.phtml" />
</referenceContainer>
</body>
</page>
app/code/StackExchange/HelloWorld/view/frontend/templates/index.phtml
- mẫu cho khối
<h2>Hello World</h2>
sau khi bạn hoàn thành, chạy nó trong bảng điều khiển
Thiết lập php bin / magento: nâng cấp
Bạn sẽ có thể thấy kết quả tại url [ROOT]/helloworld
routes.xml
tập tin nên được đặt trong app/code/StackExchange/HelloWorld/etc/frontend
không app/code/StackExchange/HelloWorld/frontend
. Có một etc
mất tích. Và tôi đã quên 2 use
mệnh đề trong tệp điều khiển. Xem câu trả lời cập nhật của tôi.
Tôi cũng vừa mới thử ngày hôm qua và đã thành công trong việc tạo ra mô-đun hello world magento 2 của riêng tôi. Tôi đã làm theo hướng dẫn này để tạo ra một mô-đun Magento 2 đơn giản , có 6 bước như dưới đây
=> Bước 1: Tạo thư mục mô-đun:
ứng dụng / mã / Magentoexplorer / Hellowworld
=> Bước 2: Thêm mô-đun tệp để khai báo mô-đun
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Magentoexplorer_Helloworld" setup_version="1.0.0" />
</config>
=> Bước 3: Tạo đăng ký.php để đăng ký mô-đun
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Magentoexplorer_Helloworld',
__DIR__
);
=> Bước 4: Cách cài đặt, bật hoặc tắt / xóa mô-đun
cd [magento_directory]
php bin/magento setup:upgrade
=> Bước 5: Lộ trình của mô-đun. tạo nênapp/code/Magentoexplorer/Helloworld/etc/frontend/routes.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="magentoexplorer" frontName="helloworld">
<module name="Magentoexplorer_Helloworld" />
</route>
</router>
</config>
=> Bước 6: Bộ điều khiển và hành động.
ứng dụng / mã / Magentoexplorer / Helloworld / Index / Index.php
<?php
namespace Magentoexplorer\Helloworld\Controller\Index;
class Display extends \Magento\Framework\App\Action\Action
{
public function __construct(
\Magento\Framework\App\Action\Context $context)
{
return parent::__construct($context);
}
public function execute()
{
echo 'Hello World';
exit;
}
}
Mô-đun tốt nhất để bạn theo dõi sẽ là mô-đun này: https://github.com/magento/magento2-samples/tree/master/sample-module-newpage
Nó tập trung vào frontend cho Magento 2. Bạn có thể sử dụng mô-đun này và biến nó thành mô-đun của riêng bạn.
Các mô-đun trần nhất là đủ dễ dàng:
app/code
tạo thư mục của bạn cho Nhà cung cấp và Mô-đun. I Eapp/code/MyCompany/FirstModule
Trong FirstModule
thư mục thêm mộtregistration.php
TRỰC TIẾP);
Trong cùng một thư mục, tạo một etc
thư mục, nhưapp/code/MyCompany/FirstModule/etc
Trong etc
thư mục tạo mộtmodule.xml
Và Voila. Đó là nó. Bây giờ bạn có thể kích hoạt mô-đun của mình thông qua SSH bằng bin/magento module:enable MyCompany_FirstModule
lệnh.
Dưới đây là hướng dẫn cho mô-đun đơn giản
https://www.mageplaza.com/magento-2-module-development/
Bạn cũng có thể tải xuống mô-đun bên dưới
https://github.com/tzyganu/Magento2SampleModule
Có rất nhiều trình tạo mô-đun có sẵn cho Magento 2. Dưới đây là một số liên kết
http: //cedc Commerce.com/magento-2-module-creator/
https://amasty.com/magento-2-module-creator.html
Hy vọng nó giúp :)
Để tạo mô-đun trong Magento 2, cần có các bước sau:
Để sử dụng tốt nhất cơn bão PHP
Thực hành tốt nhất Sử dụng PHP Storm
Bước 1: Tạo thư mục của mô-đun Hello World
Bước 2: Tạo mô-đun
Bước 3: Đăng ký Mô-đun đã tạo
Bước 4: Kích hoạt mô-đun
Tên của mô-đun được xác định là tên Vend VendorName_ModuleName. Phần đầu tiên là tên của nhà cung cấp và phần cuối là tên của mô-đun: Ví dụ: Sathya_HelloWorld.
##### tạo thư mục tệp như
Magento2/app/code/Sathya/HelloWorld
app/code/Sathya/HelloWorld/etc/module.xml
Nội dung sẽ là:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Sathya_HelloWorld" setup_version="1.0.0">
</module>
</config>
Tạo tập tin đăng ký
app/code/Sathya/HelloWorld/registration.php
Nội dung sẽ là:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Sathya_HelloWorld',
__DIR__
);
Trước khi bật Mô-đun, hãy đảm bảo Mô-đun có được tạo hay không. Cho rằng chạy lệnh từ thư mục gốc Magento là.
php bin/magento module:status
Nó liệt kê tất cả các mô-đun bị vô hiệu hóa
###### Sathya_HelloWorld
Để kích hoạt Mô-đun chạy lệnh như:
php bin/magento module:enable Sathya_HelloWorld
Ngoài ra có một cách khác để kích hoạt nó. Mà sẽ được giải thích sau.
Vui lòng nâng cấp cơ sở dữ liệu của bạn: Chạy cài đặt bin bin / magento: nâng cấp từ thư mục gốc Magento.
Hãy chạy lệnh:
php bin/magento setup:upgrade
Hãy chạy
php bin/magento setup:static-content:deploy
Sau đó chạy (tùy chọn)
php bin/magento setup:static-content:deploy -f
Để thêm tuyến đường, cần phải tạo tệp Rout.xml
app/code/Sathya/HelloWorld/etc/frontend/routes.xml
Nội dung sẽ là:
<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route frontName="helloworld" id="helloworld">
<module name="Sathya_HelloWorld"/>
</route>
</router>
</config>
Thư mục và tệp bạn cần tạo là:
app/code/Sathya/HelloWorld/Controller/Index/Test.php
Nội dung sẽ là:
<?php
namespace Sathya\HelloWorld\Controller\Index;
class Test extends \Magento\Framework\App\Action\Action
{
protected $_pageFactory;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $pageFactory)
{
$this->_pageFactory = $pageFactory;
return parent::__construct($context);
}
public function execute()
{
echo "Hello World";
exit;
}
}
Sau khi hoàn thành, vui lòng chạy lệnh để xóa bộ nhớ cache
php bin/magento c:f
Kiểm tra Mô-đun của bạn bằng cách nhập URL ngay bây giờ sẽ là:
http://< YourDomain.com >/helloworld/index/test