a) frontend/base/default/layout/customer.xml
You should not override this file. If you want to make any in layout, create a new local.xml file in your theme.
b) app/code/core/mage/customer/controller/AccountController.php
You must create a module for overriding the AccountController.php file as follow.
1) app/etc/modules/Namespace_Module.xml
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Module>
<active>true</active>
<codePool>local</codePool>
</Namespace_Module>
</modules>
</config>
2) app/code/local/Namespace/Module/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Namespace_Module>
<version>0.1.0</version>
</Namespace_Module>
</modules>
<frontend>
<routers>
<customer>
<args>
<modules>
<namespace_module before="Mage_Customer">Namespace_Module</namespace_module>
</modules>
</args>
</customer>
</routers>
</frontend>
</config>
3) app/code/local/Namespace/Module/controllers/AccountController.php
<?php
require_once(Mage::getModuleDir('controllers','Mage_Customer').DS.'AccountController.php');
class Namespace_Module_AccountController extends Mage_Customer_AccountController
{
/**
* Override the required function here,
* e.g. createAction
*/
public function createAction()
{
$this->_redirect('*/*/login');
}
}
That's the proper way you should use to override the controller.
c) frontend/base/default/template/customer/account/navigation.phtml
Simple place this file in your theme using the same hierarchy as follow.
frontend/your_package/your_theme/template/customer/account/navigation.phtml
d)
frontend/base/default/template/persistent/customer/form/register.phtml
Simple place this file in your theme using the same hierarchy as follow.
frontend/your_package/your_theme/template/persistent/customer/form/register.phtml
e) frontend/mtghost/default/template/catalog/product/view.phtml
This file is already in a custom theme. If its your theme then there is no harm in editing in it. If you have another theme then place this file in it as follow and override.
frontend/your_package/your_theme/template/catalog/product/view.phtml
f) For adding custom tab in customer account, add the file with content below.
frontend/your_package/your_theme/layout/local.xml
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<customer_account>
<reference name="customer_account_navigation">
<action method="addLink">
<name>custom_tab</name>
<path>customtab/index/index</path>
<label>My custom tab</label>
</action>
</reference>
</customer_account>
</layout>
Best Answer
You should work with app/code/local directory and there build your module.
Create: app/code/local/Vendor_Name/Module_Name/etc/config.xml with
and create app/etc/modules/_.xml with
With this 2 files you should be able to see your module in Magento Admin > System Configuration > Advanced > Advanced