zero1/magento2-release-library

1.1.0 2023-12-18 12:59 UTC

This package is auto-updated.

Last update: 2024-09-18 14:43:34 UTC


README

一个模块,用于在升级/安装脚本中提供易于使用的函数

使用方法

要使用您设置或安装脚本中的函数,请将 util 类添加到您的对象构造函数中

/** @var \Zero1\ReleaseLibrary\Utility **/
protected $setupUtility;

public function __construct(
    \Zero1\ReleaseLibrary\Utility $setupUtility
){
    $this->setupUtility = $setupUtility;
}

然后您将能够调用 $this->setupUtility

函数

创建/更新自定义变量

$this->setupUtility->createCustomVariable(
    'Variable Code,
    'Variable Name',
    'HTML Value',
    'Plain Value'
);

您还可以提供一个第 5 个参数

  • true - 如果存在具有相同代码的变量,则更新变量
  • false - 如果存在具有相同代码的变量,则抛出 EntityAlreadyExistsException

移动类别

$this->setupUtility->moveCategory(
    CATEGORY_ID_TO_MOVE
    MOVE_TO_THIS_CATEGORY_ID,
);

如果您希望移动的类别放置在特定类别之后,也可以提供一个第 3 个参数 "after"。

创建 CMS 块

这允许您在不将 html 添加到您的设置脚本的情况下创建多个 CMS 块。

配置

在能够执行此操作之前,您必须创建另一个模块或使用当前的发布模块。此模块必须包含目录 block_source

示例

在这个例子中,我有一个名为 "My_ReleaseModule" 的模块,它包含

My_ReleaseModule/
    block_source/
        1.0.0/
            a-new-custom-block.html
        1.0.1/
            custom-block.html
            promo-block.html
// configure setup utility to use my module
$this->setupUtility->setSourceModule('My_ReleaseModule);

// create all the blocks in `1.0.1`
$this->setupUtility->createBlocksFromDir(
    $this->setupUtility->getBlockSourceDirectory().'/1.0.1/'
);

这将导致创建两个 CMS 块 1。

  • 名称:自定义块
  • ID:custom-block
  • 名称:促销块
  • ID:promo-block

创建 CMS 页面

这允许您在不将 html 添加到您的设置脚本的情况下创建多个 CMS 页面。

配置

在能够执行此操作之前,您必须创建另一个模块或使用当前的发布模块。此模块必须包含目录 page_source

示例

在这个例子中,我有一个名为 "My_ReleaseModule" 的模块,它包含

My_ReleaseModule/
    page_source/
        1.0.0/
            a-new-cms-page.html
        1.0.1/
            custom-page.html
            contact-us.html
// configure setup utility to use my module
$this->setupUtility->setSourceModule('My_ReleaseModule);

// create all the pages in `1.0.1`
$this->setupUtility->createPagesFromDir(
    $this->setupUtility->getPageSourceDirectory().'/1.0.1/'
);

这将导致创建两个 CMS 页面 1。

  • 名称:自定义页面
  • ID:custom-page
  • 名称:联系我们
  • ID:contact-us

设置配置

更新/设置配置值

示例 1 - 设置单个值

$this->setupUtility->setConfig(
    [['design/head/demonotice', 1]],
    'default',
    0
);

示例 2 - 设置默认作用域的多个值

$this->setupUtility->setConfig([
    ['design/head/demonotice', 1],
    ['web/cookie/cookie_httponly', 1]
]);

示例 3 - 设置多个作用域的多个值

$this->setupUtility->setConfig([
    ['design/head/demonotice', 1], // will be set at default
    ['web/cookie/cookie_httponly', 1] // will be set at default
    ['web/cookie/cookie_path', '/', 'stores', 1], // will be set for store 1
    ['web/cookie/cookie_path', '/', 'stores', 2], // will be set for store 2
]);

更新电子邮件模板

使用 ID 为 $templateId 的模板更新电子邮件模板,内容来自文件 $newTemplateContentPath

$this->setupUtility->updateEmailTemplate($templateId, function($template){
    /** @var \Magento\Email\Model\BackendTemplate $template */
    $template->setTemplateText(
        file_get_contents($newTemplateContentPath)
    );
    return $template;
});

您可以更新任何数量的内容。