As most Magento store owners know, Magento extensions can be a huge help in quickly delivering some advanced or custom functionality to your Magento website. Typically, these extensions are installed in one of two ways, either through the Magento Connect Manager, or by uploading the extension files directly to your site via an FTP client. Now, when it comes time to uninstall the extensions in question, it’s an easy process to remove the ones that were installed via the Magento Connect Manager, but store owners are often a bit perplexed when it comes to removing the extensions that were installed via FTP.
Store owners, especially ones that are unfamiliar with the directory and file structure of Magento, will either look for an easy uninstall option, or more likely, will attempt to find all of the extension files within their website directory and delete each of them individually. As we now know, unfortunately there won’t just be an easy “Uninstall” button option, and manually deleting each extension file is not advised as it will take considerable time depending on the size of the extension and can have adverse affects on your store overall if done improperly.
However, Magento extensions are all built in a way that they all will always rely on a single configuration file that determines whether or not an extension is “Active” or “Inactive”. Because of this, enabling a disabled Magento extension or disabling an active extension is really as easy as modifying one line within one file. Best of all, you really don’t need to be a developer to do this, all you will need is an FTP Client (I suggest FileZilla), access to your site files via FTP, and a text editor (any of which will do). If you’re unfamiliar with what an FTP Client is, what it does, or how you can use it, it’s probably best that you start there.
For the purposes of this article, I’m going to assume that you are set up with your FTP Client and text editor, and that you have successfully connected to your website via your FTP Client.
So, once you’ve connected to your website, you will see the root Magento directory structure. I’ve included a screenshot below of a particular Magento install’s root directory, but just about any Magento installs will look about 99% similar to this. The directory you’re primarily looking for is the “app” directory, once you’ve found that, double click it to open it.
Once you’ve opened up the “app” directory, you will see several more directory options. From here you will want to click in to “etc” and then in to “modules” at which point you should see a list of files, all of which will end in ‘.xml’. These files are your extension configuration files and control whether the extension is active and which ‘Code Pool’ the extension is located in. This will typically be set to “Local” but can also be set to “Community” depending on the extension. For the purposes of this post though, this is not important, so no need to worry about what a code pool is or why it is used.
Now that you’re inside of the ‘app>etc>modules’ directory, you will want to find the XML configuration file that corresponds to the extension you’d like to disable. It should be fairly easy to find the XML file you are looking for, as the naming convention will typically have the extension developer’s name first and then the name of the extension after an underscore, or ‘Developer_Extension.xml’. Once you’ve located the correct file, you’ll want to download that to your local machine so that you can modify it.
Once you’ve downloaded the file, you will now want to open it up in your text editor. The first thing you should do is ensure you have a backup in case any of the changes made have an adverse affect on your system. In this case,the likelihood of this happening is minimal, but it’s still a good practice to get in to. Once you have your backup created and the actual file open, you should see something that looks like the image below, and the line you’re looking for is the one that says “
Once you’ve updated your site file, all you’ll need to do is upload the modified file back in to the FTP server, and then log back in to your Magento admin dashboard. At this point, the extension should be disabled, but may still be showing up in your admin view. If this is the case, you’ll just need to flush the store’s cache by going to System > Cache Management and then flush out the cache.
If you’ve done everything correctly, the extension in question should now be disabled without disrupting any other areas of your website. Also, if you ever need to re-enable the extension, all you will need to do is open the extension configuration file back up and change it back to “True”, flush the Magento cache, and it should then be available again.