卸载插件时删除 Config Default

remove config default while uninstall plugin

提问人:BlueWolf 提问时间:9/12/2023 更新时间:9/14/2023 访问量:55

问:

我有一个插件,我在安装时设置了配置默认值 - config.xml中的“defaultValue”选项开箱即用:

    private function addDefaultConfiguration(): void
    {
        $this->setValue('hoverstyle', array('tile-border'));


    }

如何在 unistall 方法中删除它?

在开发人员页面中找不到任何提示

默认值 购物用品6

评论


答:

0赞 lernhart 9/13/2023 #1

您应该能够在插件生命周期方法中执行此操作。uninstall

有一个方法,您可以使用它删除单个条目,甚至是该方法,它应该删除插件的任何条目。SystemConfigServicedeletedeletePluginConfiguration

public function uninstall(UninstallContext $context): void
{
    parent::uninstall($context);

    if ($context->keepUserData()) {
        return;
    }

    $systemConfigService = $this->container->get(SystemConfigService::class);
    $systemConfigService->delete($this->getName() . '.hoverstyle');
}

像这样的东西应该可以解决问题。请记住,仅删除 false 的插件数据。$context->keepUserData()