the_it_nerd / module-core
IT极客 - Magento 2 核心模块。
0.0.5
2024-09-25 14:46 UTC
Requires
- magento/framework: >=102.0.0
- magento/magento-composer-installer: *
README
此模块是The IT Nerd社区开源模块的基础。
安装
通过composer安装
composer require the_it_nerd/module-core
功能
此模块作为其他模块的基础,提供以下功能:
- 管理员界面中的"The IT Nerd"菜单
- 管理员界面中的"The IT Nerd"配置选项卡
- 在前端实现掩码库
- 模型以简化对象和变量的缓存使用
如何使用掩码库
掩码库基于Igor Escobar jQuery Mask库。
通过x-mage-init实现
此实现考虑了使用Magento 2 x-mage-init的默认初始化方式
<script type="text/x-magento-init">
{
"#telephone": {
"TheITNerd_Core/js/inputMask": {
"mask": "(00) 0000-00000"
}
}
}
</script>
Knockout数据绑定
此模式可以在使用data-bind方法的Knockout phtmls或模板html文件中使用
<input data-bind="mageInit:{ 'TheITNerd_Core/js/inputMask': {'mask': '(00) 0000-00000'}}"/>
通过requireJS实现
当需要通过JS文件使用掩码库实现时
define([
'jquery',
'TheITNerd_Core/js/inputMask'
], function($) {
'use strict';
$.widget('theitnerd.test', {
options: {
mask: '00000-000',
},
_create: function() {
this.initMask();
},
/**
* Implements Mask on field
* @returns {theitnerd.test}
*/
initMask: function() {
this.element.inputmask({mask: this.options.mask});
return this;
}
});
return $.theitnerd.test;
});
如何使用缓存模型
模型缓存简化了使用Magento2后端标准缓存实现的过程
如何保存缓存
在缓存客户端,我们有save方法,考虑以下参数。
如何恢复缓存
Load方法简化了加载缓存中保存的值的过程
实现示例
use TheITNerd\Core\Model\CacheClient;
class TestClass {
/**
* @param CacheClient $cacheClient
*/
public function __construct(
private CacheClient $cacheClient
)
{
}
public function getData(string $key): array
{
//generate an unique cache key
$cacheKey = md5($key);
if($data = $this->cacheClient->load($cacheKey, 'website')) {
return $data;
}
...
$data = array[]
$this->cacheClient->save($cacheKey, $data, ['tag1, 'tag2'], 86400, 'website');
return $data;
}
...
}