What is the recommended way to override/extend Magento core functionality?

  • Directly edit the core files of Magento with proper commenting.
  • Mage::registerOverride(‘CoreClassName’,’CoreFunctionName’,’MyClassName’,’MyFunctionname’);
  • Copy the original Magento core file to the app/code/local folder and customize that file.
  • Create extended versions of core files in their own folder with extension information. app/code/core/Mage/Cms/Model/Page.php app/code/core/Mage/Cms/Model/Page.1.php App/code/core/Mage/Cms/Model/Page.2.php