Tạo nên: app/code/Company1/Module1/composer.json
{
"tên": "company1 / module-module1",
"sự miêu tả": "",
"yêu cầu": {
"php": "~ 5.5.0 | ~ 5.6.0 | ~ 7.0.0",
"magento / khung": "100.0. *",
"magento / mô-đun-ui": "100.0. *",
"magento / module-config": "100.0. *",
"magento / mô-đun thư mục": "100.0. *"
},
"loại": "mô-đun magento2",
"phiên bản": "100.0.0",
"giấy phép": [
"OSL-3.0",
"AFL-3.0"
],
"tự động tải": {
"tập tin": ["đăng ký.php"],
"psr-4": {
"Công ty1 \ Module1 \\": ""
}
}
}
Tạo nên: app/code/Company1/Module1/registration.php
\ Magento \ Framework \ Thành phần \ Hợp phầnRegistrar :: đăng ký (
\ Magento \ Framework \ Thành phần \ Thành phầnRegistrar :: MODULE,
'Công ty1_Module1',
__DIR__
);
Tạo nên: app/code/Company1/Module1/etc/module.xml
<? xml phiên bản = "1.0"?>
<config xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "urn: magento: framework: Module / etc / module.xsd">
<tên mô-đun = "Company1_Module1" setup_version = "2.0.0">
<trình tự>
<tên mô-đun = "Magento_Directory" />
</ trình tự>
</ mô đun>
</ config>
Tạo mô-đun xong. Vì vậy, bây giờ tạo lớp người trợ giúp trong thư mục Helper .
app/code/Company1/Module1/Helper/Data.php
:
không gian tên Company1 \ Module1 \ Helper;
lớp Dữ liệu mở rộng \ Magento \ Framework \ App \ Helper \ AbstractHelper
{
Hàm công khai someMethod ()
{
trả lại 1;
}
}
Làm thế nào để sử dụng lớp trợ giúp bên trong bộ điều khiển
$this->_objectManager->create('Company1\Module1\Helper\Data')->someMethod();
Làm thế nào để sử dụng lớp trợ giúp trong khối
chức năng công cộng __construct (
\ Magento \ Framework \ View \ Element \ Template \ Bối cảnh $ bối cảnh,
\ Company1 \ Module1 \ Helper \ Data $ helper,
mảng $ data = []
) {
$ this-> người trợ giúp = $ người trợ giúp;
cha mẹ :: __ xây dựng ($ bối cảnh, $ dữ liệu);
}
Vì vậy, $this->helper
hiện nay là thể hiện của dữ liệu.
Để ghi đè bất kỳ lớp nào bạn có thể sử dụng ưu tiên .
app/code/Company1/Module1/etc/di.xml
:
<xml phiên bản = "1.0"?>
<config xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "urn: magento: framework: ObjectManager / etc / config.xsd">
<ưu tiên cho = "Magento \ Directory \ Helper \ Data" type = "Company1 \ Module1 \ Helper \ Data" />
</ config>
Bạn cũng có thể sử dụng plugin. Plugin là cách tốt nhất để khắc phục xung đột viết lại. để biết thêm thông tin ví dụ về plugin