Magento: Howto overwrite one template file - magento

There is this template file:
app/design/frontend/base/default/template/catalog/product/view.phtml
I first just changed it but I learned I should have made an overwrite somehow to avoid problems with updates. So I tried to find a tutorial for that but like this question I could not find any that works with Magento 1.7.0.2.
I know I have to create a new template folder and recreate the folder structure catalog/product.
But where do I place this folder?
How do I tell Magento to use it?
Can I somehow skip the xml config stuff?

Create a folder app/design/frontend/mycompany/default/template
Then you should can configure this so called new package/theme in the backend
System -> Configuration -> Design -> Package = mycompany
Themes: default (no change should be necessary)
Now your shop uses a completely new theme: yours! But all files that are not defined in your theme will be pulled from base/default (fallback)
To overwrite a template simply copy it to mycompany/default(with same directory structure, so: app/design/frontend/mycompany/default/template/catalog/product/view.phtml) and change whatever you have to change
There should be no need to create any XML files in the layout folder of your theme. In case you need to customize anything with the layout definitions, create a layout/local.xml and make layout updates there. Do not copy for example catalog.xml from the base/default to your theme as this can cause problems with a Magento update.

You should have defined your own theme and copied the exact path and file to your own theme and change it there.

if you want to use the same file the you can copy and paste from default theme to your theme.
But if you want to use your define file then you can use below code in local.xml
and put the newly created file in template folder of your or default theme.
<catalog_product_view>
<reference name="product.info">
<action method="setTemplate"><template>yourfolder/customfile.phtml</template></action>
</reference>
<catalog_product_view>
So above file will override default view.phtml
I hope this will help you.

Related

designing layout of magento 2 theme

I am new to Magento.
I am creating Magenta 2 site, I have managed to install Magento, and for it to use the luma theme.
I want to be able to edit the theme (through Inheritance), I understand it uses XML files to design the layout, how do I change these, should they be in the new theme folder, and change them there?
If so, where do I get the origonal Luma xml files, or does magento create these? - There are no themes within the app/ folder, is it here where I create the new theme (that inherits from Luma)?
Many thanks for any help, I am completely new to Magento.
You have to create a custom theme and make theme.xml and set a parent to LUMA.
Now app/design/frontend/customthemename
So anything that you want to customized used in customthemename folder
Thanks
You should create a child theme to edit XML file. To create a child theme, there are 3 steps to do:
Firstly, create a new theme directory in app/design/frontend.
Secondly, declare the new theme by:
Creating theme.xml: this file identifies the name, parent and other
basic info of the new theme.
Creating Composer.json: this file is used to install the theme via Composer later.
Creating registration.php: this file is required in any Magento 2 Extension
and Themes.
Creating static files directories: this folder is used to store CSS, JS, image files.
Creating logo folder: this folder contains files that determine the location and size of your new theme logo.
Thirdly, apply and configure theme in admin: - Run Upgrade Command. - Apply the theme. - Deploy.
For more detailed tutorial, go to Guide to create Magento 2 theme.
The original XML files of any module and themes are located in vendor/magento//view/frontend/layout, with the module_name is the module related to the XML file you want to edit.
For example, with homepage CMS, the XML file is located in vendor/magento/module-cms/view/frontend/layout

How to create magento theme from scratch in 1.9.1

Whether i have to copy the templates files from default or rwd package to create new theme from scratch.
No need to copy the templates files or layout files unless you have your custom. System will find the template file/layout file from base package or default theme once no existence in your theme.

Magento 2 Copying Template/View Files from Luma into My own Theme

I have created a new Magento 2 theme and added it's parent as LUMA.
It's all working fine but I want to change the layout of my theme and the templates too.
Under Vendor ... I can see that there's all the folders and templates used in LUMA.
I work like to take a copy of all the LUMA view templates and layouts and copy them for use on my theme.
My question is ...
What do I copy and from where?
And where do I place them templates, views etc ?
Below is the reference for theme integration in magento 2:
http://blog.magestore.com/how-to-create-custom-theme-on-magento-2-part-1/
To copy luma,blank theme or module templates, layout and web files to own custom theme
1) To Copy template file:
vendor/magento/module-catalog/view/frontend/templates/product/list.phtml
Follow this path
app/design/frontend/Vendor/theme/Magento_Catalog/templates/product/list.phtml
2) To Copy layout file:
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
Follow this path
app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xml

phpFox Template change

I have installed phpFox and I have HTML( only html,css,js ) template. I want to change to my own html template instead of default template! I could to do this task! Please help me to change default template to my own html template. phpFox 3.3.0
Go to your admin area.
Then
Create a new theme here.
http://yousite.com/index.php?do=/admincp/theme/add/
Now create a new style here and select your theme
http://yousite.com/index.php?do=/admincp/theme/style/add/
add a new style here
Now go to folder
yoursite/theme/frontend/
Copy cosmic folder and rename it with the name which you had given in admin while creating style.
Also rename folder inside this folder cosmic to new folder name.
Now you can change the html
yourfolder/template/template.html.php
You can also change the CSS
frontend\yourfolder\style\yourfolder\css\custom.css
Activate your theme
http://yousite.com/index.php?do=/admincp/theme/
And make your theme default
Hope this will helps you.
Firstly, you tell us what exactly you want to modify or change. For instance if you want to change user profile head information, you should find the related template file from module "user".
Anyway before doing it I suggest you to backup the original files.
If you want just to create a template with new styles, then do as KESHU VAT's way.

breadcrumb.phtml file path?

I am still trying to understand the themeing engine of magento by studying a theme. im my theme there is breadcrumb pthml file in templates/page/html folder which manipulates the bradcrumbs. How does magento know about the file? does the page/html folder is standard.
and what is the role of the
files do in page.xml
The template system in magento consists of
• XML layout configuration
• PHP template files
• PHP block classes
All layout XML files will be found in the app/design/frontend/<interface>/<theme>/layout folder.
All template files will be in the .phtml files found in various folders under the app/design/frontend/<interface>/<theme>/template folder.
All blocks will be in the app/code/<core,local,community>/<namespace>/<module>/Block folder.
You may not find all the layout/template files in same theme say telescope. For example, Magento will check the following folders, in order, for a file named catalog.xml:
app/design/frontend/interface/telescope/layout/
app/design/frontend/interface/default/layout/
app/design/frontend/base/default/layout/
Breadcrumbs template file will be under your current theme.
for example:
app/design/frontend/<pkg>/<theme>/template/page/html/breadcrumbs.phtml
If its not present in current theme then it will be in base theme
app/design/frontend/base/default/template/page/html/breadcrumbs.phtml
Magento template engine first looks block/page template in active theme if not found the will look in base theme.
this is handled by layout handlers and block descriptions so if you are new in business head to magento knowledgebase and read theming tutorials there
app/design/frontend/base/default/layout/page.xml:82: <block type="page/html_breadcrumbs" name="breadcrumbs" as="breadcrumbs"/>

Resources