Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 252983
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T21:43:25+00:00 2026-05-11T21:43:25+00:00

I’ve recently started using Magento for a client’s webshop, and still need to get

  • 0

I’ve recently started using Magento for a client’s webshop, and still need to get to grips with its systems.

The webshop should have several links to and also grab info from another domain, where the corporate website is located. I would prefer not to hardcode the domain name or URL but instead define it at some place and use that value in the phtml templates throughout the webshop. This makes it easy to adjust it when we move the site between dev, staging and production URL’s.

Can anyone suggest the Magento way of doing this? Preferably we could add a field to the Store’s Config GUI in the backend, similar to the way the {{base_url}} is set. Or maybe I’m thinking the wrong way?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T21:43:25+00:00Added an answer on May 11, 2026 at 9:43 pm

    Magento offers (relatively) easy support for custom configuration values. The best way I’ve found to accomplish this is to create a single magento module that holds all your custom configuration values.

    Like anything Magento, there are a lot of steps, and any one being wrong could trip you (or me!) up.

    Create an Empty Magento Module

    First, you’ll want to setup a magento module to hold all your custom configuration values. Creating a magento module involves

    1. Create a xml file in app/etc/modules
    2. Create a folder structure in app/code/local/Companyname

    Companyname is a unique string that serves as a namespace, and most magento tutorials recommend you use your company name here. For the purposes of this tutorial, I’ll use “Stackoverflow”. Wherever you see the string Stackoverflow, replace it with your own unique string.

    So, for step 1, create a file at app/etc/modules named “Stackoverflow_Customconfig.xml”, and place the following inside

    <?xml version="1.0"?>
    <config>
        <modules>
            <Stackoverflow_Customconfig>
                <active>true</active>
                <codePool>local</codePool>
            </Stackoverflow_Customconfig>
        </modules>
    </config>
    

    Random Magento Tip: There are parts of the magento system that consider whitespace significant, so it’s always best to include no whitespace with your attribute values (<active>true</active> vs. <active> true </active>

    Next, create the following folder

    mkdir app/code/local/Stackoverflow/Customconfig
    mkdir app/code/local/Stackoverflow/Customconfig/etc
    

    And create a file at

    app/code/local/Stackoverflow/Customconfig/etc/config.xml
    

    with the following contents

    <?xml version="1.0"?>
    <config>
        <modules>
            <Stackoverflow_Customconfig>
                <version>0.1.0</version>
            </Stackoverflow_Customconfig>
        </modules>
    </config>
    

    Congratulations, you’ve just setup a new Magento Module. If you clear your magento cache and go to

    System -> Configuration -> Advanced -> Disable Modules Output
    

    you should see your module listed.

    Add a System.xml file to your module

    Next, we’re going to add a system.xml file. This file is used to add a custom configuration value to magento, which you’ll be able to grab anywhere you want during the magento request cycle. Add a file at

    app/code/local/Stackoverflow/Customconfig/etc/system.xml
    

    That contains the following

    <config>
        <sections>
            <design>
                <groups>
                    <my_or_their_group translate="label">
                        <label>A grouping of config values.  Make your own, or us an existing group.</label>
                        <frontend_type>text</frontend_type>
                        <sort_order>50</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>0</show_in_website>
                        <show_in_store>0</show_in_store>
                        <fields>
                            <my_config translate="label">
                                <label>This will be my config's label</label>
                                <frontend_type>text</frontend_type>
                                <sort_order>50</sort_order>
                                <show_in_default>1</show_in_default>
                                <show_in_website>0</show_in_website>
                                <show_in_store>0</show_in_store>
                            </my_config>
                        </fields>
                    </my_or_their_group>
                </groups>
            </design>
        </sections>
    </config>   
    

    <design> is the name of the section your config will be displayed in. “General, Web, Design, Currency Setup, etc.” By and large, this will be a lower-case version of the title, i.e. “General” becomes “general”, “Design” becomes “design”. If you’re not sure what this outer tag should be, search through the core magento modules. i.e., grepping for “Currency Setup” reveals a mention in

    app/code/core/Mage/Directory/etc/system.xml
    <currency translate="label" module="directory">
        <label>Currency Setup</label>
    

    So you’d use the tag <currency /<, and not the more intuitive <currency_setup />

    <my_or_their_group translate=”label”> is the name of the group your config variable will show up in. Groups are the Ajax drop downs that contain config fields. For example, the General section has a “Country options” group and a Local options” group. Again, check existing core modules if you’re unsure how to place a value in an existing group.

    You’ll also notice a translate attribute here, along with a corresponding label tag. This allows you to use any string you want in the HTML interface as a group title, but internally keep the name a valid XML tag name. Our tag is named

    <my_or_their_group />
    

    but in the interface, the group will have the title

    A grouping of config values. Make your own, or us an existing group.

    Finally, <my_config translate=”label”> is the name of yoru conifg value. Again, notice the translate attribute. The same rules as above apply.

    The other xml structure is needed, and is (mostly) used to control what kind of HTML inputs will be used for your config. If you want a particular interface element, find an example in the core module and copy the XML structure.

    This will allow you to set and lookup config values in the Magento GUI interface. You can retrieve your values using the static getStoreConfig method of the global Mage object and specifying the URI of your config value. The URI is created using the section/group/name of your config.

    Mage::getStoreConfig('design/my_or_their_group/my_config');     
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

No related questions found

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.