swissup/core

Swissup 核心模块。其目的是添加菜单和配置占位符

维护者

详细信息

github.com/swissup/core

源代码

问题

安装量: 9,512

依赖项: 0

建议者: 0

安全性: 0

星级: 0

关注者: 9

分支: 0

开放性问题: 0

类型:元包

1.12.20 2024-07-11 13:18 UTC

README

内容

  1. 安装
  2. Swissup 安装程序使用
  3. Swissup 升级类
  4. 弹出消息管理器

安装

cd <magento_root>
composer require swissup/core
bin/magento module:enable Swissup_Core
bin/magento setup:upgrade

Swissup 安装程序使用

Swissup 安装程序是一个类,它从所有模块依赖项中收集 Swissup 升级 并运行它们(如果需要的话)。

让我们看看 Argento 主题安装程序的示例。

$module = $this->_objectManager->create('Swissup\Core\Model\Module');
$module->load('Swissup_ArgentoDefault')
    ->setNewStores([0])
    ->up();

这段代码做了什么?

  1. 创建 Swissup\Core\Model\Module 对象。
  2. composer.json 文件中加载 Swissup_ArgentoDefault 模块的模块信息。
  3. 设置要使用的商店(所有商店)。
  4. 运行安装程序
    1. 搜索 Swissup\Upgrade 类,这些类是 Swissup_ArgentoDefault 模块所有依赖项的。
    2. 为每个找到的升级类运行 getOperationsup 命令。
    3. Swissup_ArgentoDefault 升级类运行 getOperationsup 命令。

Swissup 升级类

当模块或主题需要为指定的商店视图运行一些额外的逻辑时,使用 Swissup\Upgrade 类是非常方便的,它允许创建并自动备份各种内容类型和配置。

为什么不使用 Magento DataUpgrade?

  • 它不允许多次运行升级(重新安装)
  • 它没有内置的方法来更改商店配置
  • 它不支持内容备份

Swissup 升级是位于 <module_dir>/Upgrades 目录的迁移。升级类必须实现 Swissup\Core\Api\Data\ModuleUpgradeInterface

升级示例

Swissup/ArgentoDefault/Upgrades/1.0.0_initial_installation.php
Swissup/ArgentoDefault/Upgrades/1.0.1_add_callout_blocks.php
Swissup/ArgentoDefault/Upgrades/1.1.0_create_featured_products.php

升级命名约定

1.0.0       _               initial_installation   .php
^ version   ^ Separator     ^ ClassName            ^ file extension

类示例

<?php

namespace Swissup\ArgentoDefault\Upgrades;

class InitialInstallation extends \Swissup\Core\Model\Module\Upgrade
{
    public function up()
    {
        // This method is optional.
        // Additional logic may be placed here.
    }

    public function getCommands()
    {
        return [
            'Configuration' => [
                'prolabels/on_sale/product/active'  => 1,
                'prolabels/on_sale/category/active' => 1,
                'prolabels/is_new/product/active'   => 1,
                'prolabels/is_new/category/active'  => 1,
            ],

            'CmsBlock' => [
                'header_callout' => [
                    'title' => 'header_callout',
                    'identifier' => 'header_callout',
                    'is_active' => 1,
                    'content' => 'content'
                ]
            ]

            'ProductAttribute' => [
                [
                    'attribute_code' => 'featured',
                    'frontend_label' => array('Featured'),
                    'default_value'  => 0
                ]
            ],

            'Products' => [
                'featured'       => 6,
                'news_from_date' => 6
            ]
        ];
    }
}

支持的命令

弹出消息管理器

弹出消息管理器允许在弹出窗口中显示带有附加信息的常规 Magento 消息。

Popup Message Example

使用示例

\Swissup\Helper\PopupMessageManager 组件注入到您的控制器操作中,并使用它代替内置的 \Magento\Framework\Message\Manager

$this->popupMessageManager->addError(
    __('Decoding failed: Syntax error'),
    $popupText,
    $popupTitle
);