繁体   English   中英

magento禁用模块脚本

[英]magento disable modules script

我正在对新功能进行一些测试,但是,与我们正在运行的模块存在冲突。 我必须禁用etc文件夹的xml文件(将active设置为false)中的模块来进行测试,但是再次打开它以检查兼容性是否固定。 这很麻烦,我想知道是否有一个脚本可以在我运行时将其关闭和打开。

这不是我第一次遇到这个问题。

我是magento的新手,所以我只想确保自己做的正确。 到目前为止,这是我提出的内容,但是可能需要更正,而且我不确定在某些地方应该加些什么。 这是为了禁用模块。

<?php
$dom=new DOMDocument();
$dom->load("myExt.xml");

$root=$dom->documentElement; 

$modules=$root->getElementsByTagName('module');


foreach ($modules as $module) {
    $active=$module->getElementsByTagName('active')//Not sure how to end this line
    $active='false'; //This is probably incorrect

}
$dom->save('myExt.xml');
?>

提前致谢!

考虑只使用xmllint,它比编写php程序更简单地进行简单的xml编辑:

{
    echo 'cd //active'
    echo 'set false'
    echo 'save'
} | xmllint --shell app/etc/modules/YourModule.xml

您甚至可以将其变成一个简单的shell函数:

##
# Toggle Magento module active or inactive
magetogmod() {
    {
        echo 'cd //active'
        echo "set $1" # First argument. Should be 'true' or 'false'.
        echo 'save'
    } | xmllint --shell "app/etc/modules/$2.xml" # 2nd arg. Should be the filename without '.xml'
}

# Shortcuts so you don't have to type "true" and "false" all the time:

##
# Disable Magento module
magedismod() { magetogmod false "$1"; }

##
# Enable Magento module
mageenmod() { magetogmod true "$1"; }

然后,如果您已打开配置缓存,则需要清除缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM