MyCashflow store themes allow you to set custom settings in the theme.xml file that specify some of the common theme properties.

If the configuration file is missing from a store theme, the theme cannot be used in an online store.

The configuration file is an XML file from which, for example, certain Interface tags can read the information they need. You can also use the file to enable some of the online store features (e.g. gift cards and product filters) in the theme.

Place the setting file in the theme's root folder, e.g. themes/shop/THEMA/theme.xml.

The following examples use the settings for MyCashflow's default theme Barebones.

Settings

<?xml version="1.0"?>
<Theme>
  ...

  <!-- The version parameter v=x is added to the output of the {MinifyJS} and {MinifyCSS} tags
       based on this field. This makes it easier to develop a theme
       by preventing styles and scripts from being cached. -->
  <Version>1</Version>

  <!-- The Settings element contains theme settings -->
  <Settings>
    <!-- Doctype can be HTML5 or XHTML (default) -->
    <Doctype standard="HTML5" />
    
    <!-- Images => NoImage sets the image file located in the theme as the theme's "No image" image -->
    <!-- <Images><NoImage file="i/noImage.jpg" /></Images> -->

    <!-- Page sizes for product lists that are displayed in the product list's pagination menu -->
    <ProductList>
      <PageSizes>
        <PageSize>25</PageSize>
        <PageSize>50</PageSize>
        <PageSize>100</PageSize>
      </PageSizes>
    </ProductList>
  </Settings>
  ...
</Theme>

Theme properties

<?xml version="1.0"?>
<Theme>
  ...
  <!-- The Features element contains information about theme properties --> 
  <Features>
    <!-- Checkout tells the types of checkout in use. If both are in use, the type of checkout can be selected in version settings. -->
    <Checkout>
       <SinglePage supported="true" />
      <MultiPage supported="true" default="default" />
    </Checkout>
    
    <!--
     ProductBundles defines the implementation of product packages. If the value is false (or this element is absent), the {ProductShortDesc} tag will print the product bundles.
     If the value is true, the {ProductBundles} tag that prints the list of product bundles must be added to a selected location of the theme.
    -->
    <ProductBundles supported="true" />

    <!--
    If you have the new gift cards enabled in your online store, you should use the GiftCards setting in theme settings, which allows for extensive theme support for gift cards.
    
    Learn more about the settings and their impact.
    -->
    <GiftCards supported="true" />
    
    <!--
    If product filers are enabled in the store, the ProductListFilters setting allows for using filters in the theme.
    
    Learn more about using product filters in a theme.
     -->
    <ProductListFilters supported="true" />
  </Features>
  ...
</Theme>

Image size classes

<?xml version="1.0"?>
<Theme>
  ...
  <ImageSizes>
            
    <!-- Mini is used, for example, in shopping cart thumbnails -->
    <Mini width="32" height="32"/>
    <!-- List is used in products on product lists -->
    <List width="162" height="162"/>
    <!-- Normal is used in product images on product pages -->
    <Normal width="258" height="258"/>
    <!-- Big is used in product image enlargements -->
    <Big width="900" height="600"/>
    
    <!-- OpenGraph is used in images printed to OpenGraph metadata (should be large) -->
    <OpenGraph width="1500" height="1500"/>
    
    <!-- BrandList is used in brand logos when printed in navigation and on lists -->
    <BrandList width="32" height="32"/>
    <!-- BrandNormal is used with the {ProductBrand} tag on product pages -->
    <BrandNormal width="162" height="162"/>
    
    <!-- CampaignImage is used with the campaign images of product categories -->
    <CampaignImage width="383"/>
    <!-- CheckoutLogo is used in shipping and payment methods' logos at checkout -->
    <CheckoutLogo width="270" height="90"/>
      
  </ImageSizes>
...
</Theme>

The Barebones theme's configuration file

If you are developing your own theme, you can copy the Barebones theme's setting file attached below directly to the root directory of your theme under the name theme.xml and modify it according to your needs.

<?xml version="1.0"?>
<Theme>
  <ImageSizes>
    <Mini width="80" height="80" />
    <List width="180" height="180" />
    <Normal width="600" height="600" />
    <Big width="1200" height="1200" />
  </ImageSizes>
  <Features>
    <Checkout>
      <SinglePage supported="true" default="default" />
      <MultiPage supported="false" />
    </Checkout>
    <GiftCards supported="true" />
    <ProductBundles supported="true" />
    <ProductListFilters supported="true" />
  </Features>
  <Settings>
    <Doctype standard="HTML5" />
    <ProductList>
      <PageSizes>
        <PageSize>25</PageSize>
        <PageSize>50</PageSize>
        <PageSize>100</PageSize>
      </PageSizes>
    </ProductList>
  </Settings>
</Theme>