Ultimo 2 User Guide

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 280

DownloadUltimo 2 User Guide
Open PDF In BrowserView PDF
ultimo theme
For Magento 2

User Guide

Copyright © 2012-2017 Infortis. All rights reserved.
Document updated: September 03, 2017

How to use this document
Please read this user guide carefully, it will help you eliminate most of potential problems
with incorrect configuration of the theme and Magento.
Use the search tool in your PDF reader (click CTRL+F in most readers) to quickly find
all the keywords which you are looking for:

This document is organized as follows:
•

Chapters 1. FAQ + Quick Start and 2. Help & Support provide an overview of this
theme, some basic information about support and links to many useful websites
about Magento.

•

Chapter 3. Installation describes theme installation process.

2

•

Chapter 4. Magento configuration describe selected Magento features.

•

Chapter 5. Customization shows how to customize the theme. Subchapter 5.2
describes Magento themes structure and some basic concepts which you need to
know when starting to work with Magento.

•

Chapter 6. Theme features and elements provides a description of selected
elements of this theme, such as product sliders, home page, built-in static blocks,
useful CSS classes etc.

•

Chapters from 7. to 12. – specify a list of all theme settings available in the theme
admin panel. Each chapter refers to specific section of theme admin panel.

•

Chapter 13. Troubleshooting describes the most common problems which you
may encounter after installation or during theme and Magento configuration.

All chapters are listed in the Table of Contents below.

3

Table of Contents
1. FAQ + Quick Start...............................................11
1.1 Help & support....................................................................................11
1.2 License................................................................................................11
1.3 Installation..........................................................................................12
1.4 After installation.................................................................................12

2. Help & Support....................................................14
2.1 References..........................................................................................14
2.1.1 Documentation...........................................................................................................14
2.1.2 Magento community..................................................................................................15

2.2 Support policy....................................................................................16
2.3 Third-party extensions.......................................................................18

3. Installation...........................................................19
3.1 Theme upgrade...................................................................................19
3.2 Theme installation..............................................................................19
3.2.1 Installation troubleshooting......................................................................................20
3.2.2 Preparing your Magento............................................................................................21
3.2.3 Copying and uploading theme files..........................................................................22
3.2.4 Enabling the Ultimo modules....................................................................................24
3.2.5 Generating Magento's static files.............................................................................27
3.2.6 Enabling the theme....................................................................................................28
3.2.7 Installing CMS blocks and pages..............................................................................30

3.3 Problems after installation................................................................31

4. Magento configuration.......................................33
4.1 Caching system..................................................................................34
4.1.1 Flush cache................................................................................................................34
4.1.2 Disable cache.............................................................................................................34
4.1.3 Enable cache.............................................................................................................. 35
4.1.4 Refresh cache............................................................................................................. 35

4.2 Index management.............................................................................36
4.3 How to enable the theme...................................................................37
4.4 Logo.....................................................................................................38
4.4.1 Sticky logo..................................................................................................................38

4.5 Categories...........................................................................................39
4.5.1 Category info..............................................................................................................40
4.5.2 Find category ID.........................................................................................................41
4.5.3 Landing pages............................................................................................................ 41
4.5.4 Depth of the menu......................................................................................................41
4.5.5 Layered Navigation ("Shop By" filters)....................................................................41
4.5.6 Categories inside Layered Navigation......................................................................42

4.6 Products..............................................................................................44
4.6.1 "Only X left" stock indicator......................................................................................44

4.7 Attributes.............................................................................................45
4.7.1 Attribute Management ...............................................................................................45
4.7.1.A Examples of attributes......................................................................................................... 46
4.7.1.A.1 Attribute: manufacturer............................................................................................... 46
4.7.1.A.2 Attribute: sale.............................................................................................................. 48
4.7.1.A.3 Attribute: new.............................................................................................................. 50
4.7.1.A.4 Attribute: custom_label............................................................................................... 52

4.7.2 Attribute Sets.............................................................................................................. 55

4.8 Content Management System (CMS)................................................57
4.8.1 Add blocks to selected pages...................................................................................57
4.8.2 Static blocks...............................................................................................................60
4.8.3 CMS markup tags.......................................................................................................61
4.8.3.A Store URL............................................................................................................................ 61
4.8.3.B Media URL.......................................................................................................................... 62
4.8.3.C Block ID............................................................................................................................... 63

4.8.4 WYSIWYG editor.........................................................................................................64

4.9 Translation / Localization...................................................................65
4.9.1 Interface translation...................................................................................................65
4.9.2 Language flag.............................................................................................................66

5. Customization.....................................................68
5.1 How to modify the theme...................................................................69
5.1.1 Override default CSS styles......................................................................................69
5.1.1.A Use _custom.less file........................................................................................................... 69
5.1.1.B Debugging........................................................................................................................... 69
5.1.1.C Add CSS via Magento admin.............................................................................................. 70
5.1.1.D How to find out which part of CSS to override?...................................................................71

5.1.2 Modify template files..................................................................................................72
5.1.3 Create custom sub-theme.........................................................................................73

5.2 Magento theme customization..........................................................74

6. Theme features and elements...........................75
6.1 Home page and CMS pages..............................................................76
6.1.1 Default pages.............................................................................................................. 76
6.1.1.A Selecting a home page........................................................................................................ 76

6.1.2 Creating a page.......................................................................................................... 76
6.1.2.A Page layout......................................................................................................................... 77
6.1.2.B Page content....................................................................................................................... 77
6.1.2.C Full width page.................................................................................................................... 78
6.1.2.C.1 Maximum width of the content....................................................................................78
6.1.2.C.2 Content with full width background.............................................................................79

6.1.3 Home page blocks......................................................................................................81
6.1.3.A Image slideshow.................................................................................................................. 81
6.1.3.B Banners............................................................................................................................... 81
6.1.3.C Grid/List of Products............................................................................................................ 81

6.1.4 Featured Products Slider...........................................................................................84
6.1.4.A List of parameters................................................................................................................ 84
6.1.4.B Examples of shortcodes...................................................................................................... 88
6.1.4.C Display any set of products using the slider........................................................................90

6.2 Built-in blocks and containers..........................................................92
6.2.1 Add custom content...................................................................................................92
6.2.1.A Built-in static blocks............................................................................................................. 93
6.2.1.B Custom static blocks assigned to containers.......................................................................93

6.2.2 Import static blocks...................................................................................................93
6.2.3 List of built-in static blocks and containers.............................................................95
6.2.3.A Page.................................................................................................................................... 95
6.2.3.B Header................................................................................................................................ 98
6.2.3.C Footer................................................................................................................................ 102

6.2.3.D Product page..................................................................................................................... 105

6.3 Pages and elements.........................................................................108
6.3.1 Drop-down cart.........................................................................................................108

6.4 Grid system.......................................................................................109
6.4.1 Bootstrap grid overview..........................................................................................109
6.4.2 Grid examples........................................................................................................... 111
6.4.3 Additional utility classes for grid system...............................................................112
6.4.4 Old 12-column grid system (deprecated)...............................................................113

6.5 CMS components.............................................................................118
6.5.1 CSS utility classes....................................................................................................118
6.5.1.A General utility classes........................................................................................................ 118
6.5.1.B Hide/show content depending on screen size...................................................................120
6.5.1.C Old classes to hide elements (deprecated).......................................................................122

6.5.2 Collapsible blocks....................................................................................................123
6.5.3 Icons.......................................................................................................................... 124
6.5.3.A Basic icons........................................................................................................................ 124
6.5.3.A.1 Add CSS styles to icons........................................................................................... 125
6.5.3.A.2 Size.......................................................................................................................... 125
6.5.3.A.3 List icons.................................................................................................................. 126
6.5.3.A.4 Pulled icons and borders.......................................................................................... 126
6.5.3.A.5 Spinning icons.......................................................................................................... 126
6.5.3.A.6 Rotated and flipped.................................................................................................. 126
6.5.3.A.7 Icons inside buttons.................................................................................................. 127
6.5.3.B Iconbox (icon with background color)................................................................................127
6.5.3.B.1 Change color on mouse hover.................................................................................128
6.5.3.B.2 Size.......................................................................................................................... 128
6.5.3.B.3 Shape....................................................................................................................... 128
6.5.3.B.4 Iconbox effects......................................................................................................... 129
6.5.3.B.5 Image file iconbox.................................................................................................... 129
6.5.3.C Social icons....................................................................................................................... 130
6.5.3.D Letters, numbers and other characters as icons...............................................................132
6.5.3.E Font Awesome icons......................................................................................................... 132

6.5.4 Icon + text................................................................................................................. 134
6.5.4.A Simple block with icon....................................................................................................... 134
6.5.4.B Change iconbox color on mouse hover.............................................................................135
6.5.4.C Indented block................................................................................................................... 135
6.5.4.D Centered block.................................................................................................................. 136

6.5.5 Banners..................................................................................................................... 137
6.5.5.A Image banner.................................................................................................................... 137
6.5.5.A.1 How to get the image............................................................................................... 137
6.5.5.B Banner with hyperlink........................................................................................................ 138
6.5.5.C Banner with image hover effect......................................................................................... 139
6.5.5.D Banner with color overlay.................................................................................................. 139
6.5.5.E Banner with caption........................................................................................................... 141
6.5.5.E.1 Inline styles.............................................................................................................. 141
6.5.5.E.2 Remove caption background color...........................................................................142
6.5.5.E.3 Caption with fade in/out effect..................................................................................142
6.5.5.E.4 Center caption.......................................................................................................... 143
6.5.5.E.5 Center vertically, full cover........................................................................................ 143
6.5.5.E.6 Caption positioning................................................................................................... 144
6.5.5.E.7 Precise positioning................................................................................................... 144
6.5.5.E.8 Caption effects......................................................................................................... 145
6.5.5.E.9 Caption with text background...................................................................................146
6.5.5.E.10 Old classes to create captions for slideshow (deprecated)....................................147
6.5.5.F Groups of banners............................................................................................................. 148

6.5.6 Animations................................................................................................................150
6.5.6.A Basic usage....................................................................................................................... 150
6.5.6.B List of animations.............................................................................................................. 151
6.5.6.C Additional options.............................................................................................................. 151
6.5.6.C.1 Animation delay........................................................................................................ 151
6.5.6.C.2 Animation duration................................................................................................... 152

6.6 Theme customization.......................................................................154

7. Theme settings.................................................155
7.1 Header...............................................................................................156
7.1.1 Header structure.......................................................................................................156
7.1.2 Header block positions............................................................................................158
7.1.3 Header configuration options..................................................................................159

7.2 Category View...................................................................................162
7.3 Category View (Grid Mode)..............................................................163
7.4 Category View (List Mode)...............................................................168
7.5 Layered Navigation..........................................................................169
7.6 Product Page....................................................................................170
7.6.1 Product page structure............................................................................................170
7.6.2 Product page block positions.................................................................................178
7.6.3 Product page configuration options.......................................................................179

7.7 Product Page Gallery.......................................................................184
7.8 Product Labels..................................................................................185
7.9 Footer................................................................................................188
7.10 Product sliders...............................................................................190
7.11 Data Import......................................................................................191
7.11.1 Theme Configuration Import/Export.....................................................................192
7.11.2 Import Static Blocks and Pages From Selected Demo........................................196

8. Theme Design...................................................199
8.1 Colors................................................................................................200
8.2 Font....................................................................................................201
8.3 Effects...............................................................................................201
8.4 Page...................................................................................................201
8.5 Header...............................................................................................202
8.6 Header – Top.....................................................................................203
8.7 Header – Primary..............................................................................203
8.8 Main Menu.........................................................................................203
8.9 Main...................................................................................................203
8.10 Category View.................................................................................203
8.11 Product Page...................................................................................203
8.12 Slideshow........................................................................................204
8.13 Footer..............................................................................................204
8.14 Footer – Top....................................................................................204
8.15 Footer – Primary.............................................................................204
8.16 Footer – Secondary........................................................................204
8.17 Footer – Bottom..............................................................................205

9. Theme Layout...................................................206
9.1 Responsive Layout...........................................................................207

10. Slideshow........................................................210
10.1 Slideshow on home page..............................................................210
10.1.1 Add home page slideshow through the module admin panel............................210
10.1.2 Add home page slideshow through the shortcode..............................................211

10.2 Slideshow on any page..................................................................211
10.2.1 List of parameters..................................................................................................212

10.3 Create slides...................................................................................214
10.3.1 Basic structure of the static block with slides.....................................................215
10.3.2 Content of a slide...................................................................................................217
10.3.3 Animated content of a slide...................................................................................218
10.3.4 Size of slides and banners....................................................................................220
10.3.4.A Slideshow with additional side banners...........................................................................221

10.4 Create additional side banners.....................................................222
10.5 Import sample slides and shortcodes..........................................224
10.5.1 Import static blocks with sample slides...............................................................224
10.5.2 Import page with examples of shortcodes...........................................................224

10.6 Full width slideshow on home page.............................................226
10.7 Slideshow configuration................................................................227
10.7.1 General....................................................................................................................227
10.7.2 Additional Banners.................................................................................................230
10.7.3 Navigation............................................................................................................... 231

11. Brands..............................................................232
11.1 Basic information...........................................................................232
11.1.1 Brand attribute........................................................................................................232
11.1.2 Brand images..........................................................................................................233
11.1.3 Brand names and image file names......................................................................233

11.2 Brands configuration.....................................................................236
11.2.1 General.................................................................................................................... 236
11.2.2 Brand on Product Page..........................................................................................241
11.2.3 Brand List................................................................................................................ 242
11.2.4 Brand Slider............................................................................................................ 243

12. Menu................................................................246
12.1 Menu configuration........................................................................247
12.1.1 Top Menu................................................................................................................. 247
12.1.2 Mobile Menu............................................................................................................ 249
12.1.3 Sidebar Menu.......................................................................................................... 250
12.1.4 Category Labels.....................................................................................................255

12.2 Drop-down boxes...........................................................................256
12.2.1 Drop-down box configuration options..................................................................256
12.2.2 Submenu types.......................................................................................................261
12.2.3 Category blocks.....................................................................................................264
12.2.3.A Category blocks in mobile menu......................................................................................267

12.2.4 Sample content for category blocks.....................................................................269

12.3 Custom links in the menu..............................................................272
12.3.1 Custom links inside a static block........................................................................272

12.4 Custom drop-down boxes in the menu........................................274

13. Troubleshooting..............................................275
13.1 General issues after installation...................................................275
13.1.1 Some features don't work or give errors..............................................................275
13.1.2 Blank page or 404 not found – when trying to open theme admin pages..........276
13.1.3 There is no theme admin tab in the admin panel, or I get a blank page, or Access
Denied error....................................................................................................................... 276
13.1.4 File permissions.....................................................................................................276
13.1.5 Theme features don't work after installation or upgrade....................................276
13.1.6 "Package with this name does not exist" message is displayed when trying to

enable the theme............................................................................................................... 277
13.1.7 After theme installation the store gives blank page or an error.........................277
13.1.8 Tabs, sliders or other interactive elements don't work.......................................277
13.1.9 Images are not displayed.......................................................................................277
13.1.10 Sliders: previous/next buttons don't work in some browsers..........................278
13.1.11 Slideshow is not displayed on the home page...................................................278

13.2 Configuration..................................................................................279
13.2.1 Theme configuration changes do not appear on the frontend...........................279

13.3 Third-party extensions...................................................................280
13.3.1 One of my extensions doesn't work with this theme...........................................280
13.3.2 One of the features stopped working after third-party extension was installed
............................................................................................................................................ 280

Introduction
Ultimo is extremely customizable responsive Magento theme. It is suitable for every type
of store. Based on Ultimo you can easily create your custom sub-themes (in Magento 2
called "child themes").

Rate this theme
Don't forget to rate this theme on ThemeForest – it's good to know what others think about
our work. You can rate it in the download area of your account on ThemeForest:

More info
To find out more about theme updates, new features and about our upcoming themes, you
can follow us on Twitter and on ThemeForest:

↑ Go to: Table of Contents

10

1. FAQ + Quick Start
1.1 Help & support
1. Theme support
Please read this user guide carefully, it will help you eliminate most of potential
problems with incorrect configuration of the theme and Magento. If you don't find
the answer to your questions, please refer to this chapter for more information
about support policy: 2.2 Support policy.
2. Magento support
Magento configuration, installation, maintenance, customization etc. is beyond the
scope of our support. But since Magento is very popular platform you can find tons
of useful tutorials and articles on the web. Here are some resources for start:
2. Help & Support.

1.2 License
With ThemeForest regular license you are licensed to use this theme to create one
single End Product (the final website customized with your content) for yourself or for one
client. In short:
What is allowed with single regular license:
1. You can create one website for yourself or for your client and you can transfer that
single website to your client for any fee. This license is then transferred to your
client.
2. To sell the same website to another client, you will need to purchase another
regular license.
3. You can install the theme on your test server for testing/development purposes
(that installation shouldn't be available to the public).
↑ Go to: Table of Contents

11

4. You can modify or manipulate the theme, you can combine it with other works to
create the End Product.
5. Theme updates for that single End Product (website) are free.
What is not allowed:
1. With single regular license it is not allowed to create multiple websites. For
multiple websites you will need multiple regular licenses.
2. Multi-store Magento installations are not allowed with single regular license.
Each regular license entitles you to use the theme in only one store
(store/domain/subdomain). For multiple stores/domains/subdomains you will need
multiple regular licenses.

For more information about licenses please refer to ThemeForest:
•

License FAQ: http://themeforest.net/licenses/faq

•

License comparison table: http://themeforest.net/licenses

•

Regular license details: http://themeforest.net/licenses/regular

•

Extended license details: http://themeforest.net/licenses/extended

1.3 Installation
If you encounter any problems after installation, refer to chapter 13. Troubleshooting.

1.4 After installation
To start using the theme after installation you need to take a few quick steps to make sure
all is configured properly. Also, not all of the features are enabled by default.
1. Enable the theme in a correct way
2. Flush Magento cache
↑ Go to: Table of Contents

12

Remember to flush Magento cache after making any changes in the configuration of
theme and Magento, after editing content of CMS pages and blocks, after editing
products etc. And after flushing the cache, always refresh your web browser to
make sure that you can see the most recent files.
See for more details: 4.1 Caching system.
3. Import configuration settings (optional)
After the theme was installed and enabled, you can import theme configuration
settings (colors, font, page width etc.) from one of the demo stores. For more details
refer to 7.11 Data Import. Of course, configuration import is optional and you
can as well leave the default configuration (by default theme looks the same as
demo 1).

Note:
if you decide to import configuration from one of the demo stores, it is
recommended to import to the “Default Config” scope.
4. Logo
Upload your store logo: 4.4 Logo.
5. Home page
Configure your home page: 6.1 Home page and CMS pages.
6. Home page slideshow
Configure the home page slideshow: 10. Slideshow. Each slide is a static block
which can contain any custom images or HTML. After blocks import, your slideshow
will have a few sample slides filled with some dummy images and captions. To edit
captions, see this chapter for details: 6.5.5.E.10 Old classes to create captions
for slideshow (deprecated).

↑ Go to: Table of Contents

13

2. Help & Support

2.1 References
You may find these resources useful while installing and configuring your Magento store:

2.1.1 Documentation
•

Basic information about Magento:
https://magento.com/developers/magento2
https://magento.com/products/community-edition

•

System requirements:
http://devdocs.magento.com/guides/v2.0/install-gde/system-requirements.html

•

Magento documentation:
http://docs.magento.com/m2/ce/user_guide/getting-started.html

•

Magento installation guide:
http://docs.magento.com/m2/ce/user_guide/magento/installation.html

•

Magento developer documentation:
http://devdocs.magento.com/

↑ Go to: Table of Contents

14

2.1.2 Magento community
One of the most important things with Magento is that it's had a big community for many
years. Which means that you can find articles and tutorials about almost anything you
need. If you have a problem in Magento, you can be sure that someone has already
solved it. So in most cases all you need to do is to find it on the forums. There's no need to
reinvent the wheel.
These forums are here to provide you with access to a network of dedicated Magento
enthusiasts sharing tips, tricks and support.
•

Magento Stack Exchange (Q&A):
http://magento.stackexchange.com/questions?sort=frequent

•

Stack Overflow (Q&A):
http://stackoverflow.com/questions/tagged/magento2?sort=newest

•

Magento's official forums:
https://community.magento.com/

↑ Go to: Table of Contents

15

2.2 Support policy
This user guide was created to help you quickly configure the theme – please read it
carefully, it will help you eliminate most of potential problems with incorrect configuration.

Important:
please note that as authors of this theme we are able to provide support only
for the features which we created and for the issues related strictly to this
theme. We do not provide support for Magento configuration, installation,
maintenance, customization etc.

Theme support
If you have found any bugs or have some other problems with this theme, please refer to
chapter 13. Troubleshooting. If the problem is not covered there, you can contact us via
the contact form on ThemeForest. The most up-to-date information about support channel
can always be found at:
•

http://themeforest.net/item/ultimo-fluid-responsive-magento-theme/3231798/support

We will respond as soon as possible (within 24 – 48 hours, usually faster). Please make
sure you take a look at the available resources before submitting a support request.

Questions about Magento
Elements such as category management, product management, checkout process,
payment methods (and many others) are Magento's core functionalities not related to the
theme and they are beyond the scope of our support. How to get Magento support? If you
have some questions about Magento itself, please refer to the following websites, almost
every detail of Magento configuration was discussed there so you will find answers for
most of your questions:
•

Magento documentation:
The best place to start searching is the online Magento guide in which you can find
description of all the basic Magento settings and many other useful information:

↑ Go to: Table of Contents

16

http://docs.magento.com/m2/ce/user_guide/getting-started.html
•

Magento Stack Exchange (Q&A):
http://magento.stackexchange.com/questions?sort=frequent

•

Stack Overflow (Q&A):
http://stackoverflow.com/questions/tagged/magento2?sort=newest

•

Magento's official forums:
https://community.magento.com/

Theme and Magento customization/modification support
Customization/modification of Magento and themes is a very large subject. So
unfortunately custom modifications in the theme and in Magento are beyond the scope of
our support. For more information about how you can customize this theme, please refer
to chapter 5. Customization.

↑ Go to: Table of Contents

17

2.3 Third-party extensions
Unfortunately we're unable to guarantee that all third-party extensions will work "out of the
box" with our theme. It’s impossible for theme authors to make the theme compatible by
default with all existing extensions because there are thousands of available extensions.
This is extension author's responsibility. Each extension modifies theme/Magento
functionality in different way, so it's not up to us how it will work.
When you want to install an extension, the best option is to ask about details the authors
of that extension – they will know better how the extension works, what elements of
themes it overrides and how to integrate it with custom themes.
Only the “default” Magento theme is compatible with all third-party extensions, because all
extensions are designed to work with it. But authors of the extension should provide
detailed instruction about how to integrate the extension with custom themes, since
nobody really uses “default” theme, everybody uses custom themes.
Generally all extensions can work with all themes but they sometimes have to be
integrated manually. That’s because sometimes the extension and the theme override the
same Magento template file so there can be a conflict. In such cases you need to
customize the theme and merge two conflicting template files into one template file.
This isn't something specific to our themes, this is general rule for all Magento themes and
extensions.

Support for extensions
Unfortunately third-party extensions are beyond the scope of our support. When you want
to install an extension, the best option is to ask about details the authors of that extension.
They should provide detailed instructions about their extension.

↑ Go to: Table of Contents

18

3. Installation
To install or upgrade the theme, please follow the instructions below.

3.1 Theme upgrade
To upgrade the theme to the latest version, follow the same procedure as for initial
installation (which is described in the next chapter). Except the step in which you enable
the theme in your Magento (of course if it's already enabled).
Always test the upgrade on a copy of your Magento before you upgrade your live
store. Never go live with the upgrade without testing.

To get the latest version, re-download the theme from your ThemeForest account (from
"Downloads" section). There's always the latest version.

3.2 Theme installation
These instructions will guide you through installing the Ultimo theme (and the
accompanying Magento modules) into your Magento 2 system.
Ultimo is distributed as a ZIP archive, and installed directly into your system's app folder.
Unzip your archive, and you'll see two folders:

↑ Go to: Table of Contents

19

• app
• pub/media

The Magento module files are located in app/code, and the Magento theme files are
located in app/design. Folder pub/media contains additional sample images.
Installing the theme is as simple as:
•

Uploading the module and theme files

•

Running a few Magento CLI commands

•

Configuring the theme in Stores > Configuration

The rest of this document will describe these steps in great detail.
Also, if you're partnered with a Magento agency, please consult with them for adapting
Ultimo into their custom continuous integration/deployment systems.

3.2.1 Installation troubleshooting
Before we begin, there's one important thing to mention. Magento 2, despite its long
development cycle, is new software. Magento 2 is also new software under rapid, ongoing
development by the Magento core team and other third party extension developers and
providers. While the broad strokes of these installation instructions should remain stable
for the foreseeable future, small specific details may change.
If you run into a problem installing the theme, first, don't panic. :)
Step one to troubleshooting anything with computers is to go back, and reread the step
you're currently on. Often, as human beings, there's small details that we don't realize are
important until we've tried something. Often, re-reading the instructions can help you get to
the bottom of your problem.
Step two is to use the internet to find a solution to your problem. Chances are if you've run
into a new problem, someone else has as well. The following sites are great resources for
finding up-to-date information on the latest developments in Magento 2, and asking for
technical help with specific problems.
•

Magento Stack Exchange (Q&A):
http://magento.stackexchange.com/questions?sort=frequent

↑ Go to: Table of Contents

20

•

Magento's official forums:
https://community.magento.com/

•

Magento developer documentation:
http://devdocs.magento.com/

If you're still having trouble, step three is to get in touch with us via support. While there's a
lot of things about a Magento system that are out of our control (server host configuration,
third party extensions, change to the system), we're always happy to help out with some
advice.

3.2.2 Preparing your Magento
To avoid unexpected problems after installation, you should first prepare your Magento. So
before you install the theme in your Magento store, please strictly follow the steps
described in this chapter.
1. It is highly recommended to install the theme on a test server before you install it
on your live store.

Important:
always test the theme (and any other extension) on a copy of your Magento
store before you install it on your live store. Never go live without testing.

2. Backup Magento files and database. Creating backup before installation of any
themes or extensions in Magento is extremely important, especially if you are
working on a live store.

Important:
as always, when updating your Magento system, confirm your backup
system is correctly backing up your system files and the contents of your
database, and that your backup restore process is working as expected.

3. Disable the following options: Merge CSS Files, Enable Javascript
Bundling, Merge JavaScript Files and Minify JavaScript Files under
Stores > Configuration > Developer.
↑ Go to: Table of Contents

21

You can enable these options again after installation.
4. Remove all possible custom modifications of Magento's Blank theme (one of the
default themes in Magento 2). Ultimo inherits files from the Blank theme, so any
modifications of the Blank theme may change the default behavior of Ultimo and
break some functionality.
You should never edit Magento's core files and default themes. Custom
modifications should always be made via custom themes and modules.
5. Before you install the theme, make sure your store is disabled during the installation
process. Enable Magento maintenance mode. You can find more details in
Magento documentation: http://devdocs.magento.com/guides/v2.0/installgde/install/cli/install-cli-subcommands-maint.html#instgde-cli-maint
To enable the maintenance mode you can create a simple empty file named
.maintenance.flag (note the dot at the beginning of the file name) in your
Magento's var directory. Magento will be offline after that.
You will need to disable the maintenance mode after installation by removing this
file.
6. Log out from Magento admin panel.

Important:
do not just close the browser window, you need to click the Log Out link in
the admin panel.

3.2.3 Copying and uploading theme files
Before you install the theme you need to prepare your Magento, so please do not omit the
previous step: 3.2.2 Preparing your Magento
1. Extract the theme package on your computer and navigate inside Magento2/Theme
Files/ folder.
2. You will see there a few folders. Navigate inside the folder which is named the
same as your version of Magento. For example, if you are using Magento 2.1.0,
navigate inside the folder named Magento 2.1.x.
Inside selected folder you will find Theme.zip archive which contains theme files for
your version of Magento.
↑ Go to: Table of Contents

22

3. Using your FTP client upload Theme.zip file into the root directory of your
Magento installation (the root directory of Magento is the folder which contains files,
such as index.php and the directories app, bin, lib, pub and more).
4. Unzip Theme.zip file. It contains two directories: app, pub. Magento already contains
the same directories – do not remove those existing directories. Directories
extracted from Theme.zip have to be merged with existing directories of Magento.
Approve, if your system asks you whether you want to merge directories.

Note:
this will not overwrite any core files of Magento, this will only add the theme
to Magento. So if you see a message that those directories already exist on
the server, you can confirm that you want to merge directories.

In case you can't unzip files on your server:
Alternatively, you can unzip Theme.zip archive on your computer, and upload its
content (two directories: app, pub) to your Magento's root directory. But note that
files can get broken if you send them via FTP without zipping. So it is highly
recommended to upload zipped files.
5. Set correct file permissions and ownership for all the theme files and folders
which you uploaded to your server.

Note:
file system ownership and permissions may differ depending on server. In
case of any doubts, please contact your hosting provider. Refer to Magento
documentation for more details:
http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-sys-permsover.html

6. Verify if all folders are on their place. Inside Theme.zip, you can see two top level
folders: app/code/Infortis and app/design/frontend/infortis.
After extracting Theme.zip in the root directory of your Magento, the
app/code/Infortis folder should be visible inside the app/code folder of your
Magento installation. And the app/design/frontend/infortis folder should be
visible inside the app/design/frontend folder of your Magento installation:

↑ Go to: Table of Contents

23

When you've complete this step, you'll be ready to move on to the next step.

3.2.4 Enabling the Ultimo modules
Next, we need to enable the modules. In Magento 2, this requires the use of the
bin/magento command line application.

Note:
This is the same command which you have used to install Magento (here's
the link to Magento documentation:
http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-clisubcommands.html).

↑ Go to: Table of Contents

24

1. Enable Ultimo modules
Run the following command to enable each Ultimo module:
bin/magento module:enable Infortis_Base Infortis_Brands
Infortis_Cgen Infortis_Dataporter Infortis_Infortis
Infortis_Ultimo Infortis_UltraMegamenu
Infortis_UltraSlideshow

Important:
place the entire command in one line before pasting it in the command line.
When you copy the command from this PDF document, the copied
command will be divided in multiple lines (because of text formatting in
PDF). So you need to edit it properly before pasting it in the command line.
The easiest way: copy the command, paste it in a text editor, remove new
lines to make sure the entire command is in one line. Then you can paste it
to your command line and execute.

After executing the command, you will see messages similar to the following:

$ php bin/magento module:enable Infortis_Base Infortis_Brands Infortis_Cgen Infortis_Dataporter
Infortis_Infortis Infortis_Ultimo Infortis_UltraMegamenu Infortis_UltraSlideshow
The following modules have been enabled:
- Infortis_Infortis
- Infortis_Brands
- Infortis_Cgen
- Infortis_Dataporter
- Infortis_Base
- Infortis_UltraSlideshow
- Infortis_UltraMegamenu
- Infortis_Ultimo
To make sure that the enabled modules are properly registered, run
'setup:upgrade'.
Cache cleared successfully.
Generated classes cleared successfully. Please run the 'setup:di:compile' command to generate
classes.
Info: Some modules might require static view files to be cleared. To do this, run
'module:enable' with the --clear-static-content option to clear them.

↑ Go to: Table of Contents

25

2. Run setup upgrade scripts
Then, after enabling the modules, you need to tell Magento it should run its setup
upgrade scripts. Just run the following standard Magento command:
bin/magento setup:upgrade
You will see messages similar to the following:

$ php bin/magento setup:upgrade
Cache cleared successfully
File system cleanup:
/path/to/magento/var/generation/Composer
/path/to/magento/var/generation/Magento
/path/to/magento/var/generation/Symfony
Updating modules:
Schema creation/updates:
//...
Module
Module
Module
Module
Module
Module
Module

'Infortis_Infortis':
'Infortis_Brands':
'Infortis_Cgen':
'Infortis_Dataporter':
'Infortis_Base':
'Infortis_UltraSlideshow':
'Infortis_UltraMegamenu':

//...
Schema
Module
Module
Module
Module
Module
Module
Module
Module

post-updates:
'Infortis_Infortis':
'Infortis_Brands':
'Infortis_Cgen':
'Infortis_Dataporter':
'Infortis_Base':
'Infortis_UltraSlideshow':
'Infortis_UltraMegamenu':
'Infortis_Ultimo':

//...
Data install/update:
Module 'Infortis_Infortis':
Module 'Infortis_Brands':
Module 'Infortis_Cgen':
Module 'Infortis_Dataporter':
Module 'Infortis_Base':
Module 'Infortis_UltraSlideshow':
Module 'Infortis_UltraMegamenu':
Module 'Infortis_Ultimo':
//...
Please re-run Magento compile command

After performing the above two steps, you'll be ready to move on to the next step
– generate Magento's static files.

↑ Go to: Table of Contents

26

3.2.5 Generating Magento's static files
Magento 2 introduces the concept of "static", or "generated/compiled" front end files.
Magento modules and themes store their CSS, Javascript, and other front end related files
in the module folders, and generating/compiling them will move these files to Magento's
web accessible folder.
Generating static content is simple – just run the following Magento command:
bin/magento setup:static-content:deploy
You will see messages similar to the following:

$ php bin/magento setup:static-content:deploy
Requested languages: en_US
=== frontend -> Magento/blank -> en_US ===
...
Successful: 2396 files; errors: 0
--=== frontend -> Magento/luma -> en_US ===
...
Successful: 2469 files; errors: 0
--=== frontend -> Infortis/base -> en_US ===
...
Successful: 2495 files; errors: 0
--=== frontend -> Infortis/ultimo -> en_US ===
...
Successful: 2499 files; errors: 0
--=== adminhtml -> Magento/backend -> en_US ===
...
Successful: 1854 files; errors: 0
--=== Minify templates ===
...
Successful: 875 files modified
--New version of deployed files: 1462825470

After the process finishes running, you can see the generated files in the following folder:

↑ Go to: Table of Contents

27

pub/static/frontend/Infortis/

You're now ready to move on to the next step.

3.2.6 Enabling the theme
Ultimo is now installed on your Magento system.

Note:
at this point, you need to disable maintenance mode in your Magento (if
you enabled it earlier). To do this you need to remove file
.maintenance.flag which you created inside Magento var folder. After
that, you will be able to log in to the admin panel again.

The next, and final step, is to configure Magento to use the Ultimo theme.

If you're using Magento 2.1 or later:
1. In Magento's backend, navigate to Content > Design > Configuration. You will
see a grid with the available configuration scopes. For example:

↑ Go to: Table of Contents

28

2. In the configuration record corresponding to your store view, click Edit.
3. On the Default Theme tab, in the Applied Theme drop-down,
select Infortis Ultimo.
4. Click Save button.
5. If caching is enabled, navigate to System > Cache Management and flush
Magento cache.
6. To see your changes applied, reload the store front pages.

If you're using Magento 2.0.x:
1. In Magento's backend, navigate to Stores > Configuration > General >
Design:

2. Select Infortis Ultimo from the Design Theme drop down menu:

↑ Go to: Table of Contents

29

3. and click the Save Config button.
4. If caching is enabled, navigate to System > Cache Management and flush
Magento cache.
After performing the above steps, Ultimo will be installed and enabled on your system. To
see your changes applied, reload the store front pages.

3.2.7 Installing CMS blocks and pages
Ultimo ships with a number of useful CMS pages and blocks. To import these items into
your system, navigate to Stores > Configuration >
Infortis Themes - Configuration > Theme Settings and open the Data Import
tab:

↑ Go to: Table of Contents

30

Refer to chapter 7.11 Data Import for more details about the import procedure.

3.3 Problems after installation
Important:
you can disable Magento cache before you start configuring your store.
Otherwise you will need to flush the cache in order to see any changes you
have made in the configuration.

If you encounter any problems after installation: flush Magento cache, log out from the
admin panel, and log in again. Check again the installation steps and make sure you didn't
omit any steps.
What can cause problems:
a) Magento cache (or external cache) was not flushed after installation of the theme.
↑ Go to: Table of Contents

31

b) Some of the theme files were not uploaded or are broken. Re-upload original theme
files to your server (overwrite existing files) and flush the cache. Note that files can
get broken if you send them in large numbers via FTP without zipping. So it is highly
recommended to upload zipped files.
c) File permissions issue – refer to 13.1.4 File permissions for more details.
d) You have some third-party extensions which change/break theme's default behavior
or cause some conflicts. Disable all extensions and flush the cache, then enable
extensions one by one to check which one is causing problems. Refer to 2.3 Thirdparty extensions for more details about third-party extensions.
e) You edited theme files and accidentally removed or changed something in the files.
Re-upload original theme files to your server (overwrite existing files) and flush the
cache.
f) You have customized the theme by creating custom child theme and your
modifications override or break the default behavior of the theme.
g) You have some conflicts with custom extensions or with other themes installed in
your Magento.
Also check your log files in var/log/ for more information about possible errors.
Please refer to the following chapter: 13. Troubleshooting for more information about the
most common problems.

↑ Go to: Table of Contents

32

4. Magento configuration
The following chapter describes some of the basic Magento settings and features.
Please note that as authors of this theme we provide support only for the issues related
strictly to the theme. Support for Magento configuration/installation/maintenance etc. is
beyond the scope of our support. This chapter should be only treated as a starting point,
more information about Magento can be found in Magento documentation: 2.1.2 Magento
community

↑ Go to: Table of Contents

33

4.1 Caching system
Magento's cache management system is an easy way to improve the performance of your
site. Whenever a cache needs to be refreshed, a notice appears at the top of the
workspace to guide you through the process. Follow the link to Cache Management, and
refresh the invalid caches.

To access the cache management screen, you can also use the link in the admin panel
menu: System > Cache Management.
Always refresh the cache after making changes in the configuration of your
Magento/themes/extensions or after making any custom changes in the files.

Note:
for all details about cache, refer to Magento documentation:
http://docs.magento.com/m2/ce/user_guide/system/cache-management.html

4.1.1 Flush cache
Go to System > Cache Management. Click the following buttons to completely clear the
store cache:
1. Flush Magento Cache
2. Flush Cache Storage

4.1.2 Disable cache
Go to System > Cache Management. Click Select All link, select Disable in Actions field
↑ Go to: Table of Contents

34

and click Submit button.

4.1.3 Enable cache
When the store is configured, you can enable caching system again. Go to System >
Cache Management. Click Select All link, select Enable in Actions field and click Submit
button.

4.1.4 Refresh cache
If the cache is enabled, after each configuration change, extension installation, upgrade or
uninstallation always refresh the cache. To do this, go to System > Cache Management.
Click Select All link, select Refresh in Actions field and click Submit button.

↑ Go to: Table of Contents

35

4.2 Index management
Indexing is how Magento transforms data such as products, categories, and so on, to
improve the performance of your storefront. As data changes, the transformed data must
be updated or reindexed. Magento has a very sophisticated architecture that stores lots of
merchant data (including catalog data, prices, users, stores, and so on) in many database
tables. To optimize storefront performance, Magento accumulates data into special tables
using indexers.
You can reindex in any of the following ways:
•

using a cron job (preferred)

•

using the command: bin/magento indexer:reindex, which reindexes
selected indexers, or all indexers, one time only

Note:
for more details, refer to Magento documentation:
- http://docs.magento.com/m2/ce/user_guide/system/indexmanagement.html
- http://devdocs.magento.com/guides/v2.0/extension-devguide/indexing.html
- http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-clisubcommands-index.html#config-cli-subcommands-index-reindex

To access the index management screen, go to System > Index Management.

Important:
when you edit your categories, products, attributes etc., and your changes
are not reflected of frontend (even after flushing the cache), you may need to
wait until your data will be reindexed (if you configured your indexes to be
refreshed by cron job) or you may need to reindex manually from the
command line.

↑ Go to: Table of Contents

36

4.3 How to enable the theme
In Magento you can enable the theme on many levels. You can set one theme for the
entire store, but you can also set different themes for different parts of the store (even for
selected categories, products or CMS pages).
If you want all your store pages to look the same (to use the same theme), your theme
should only be enabled in Stores > Configuration > Design (the same as it was
described in the installation steps 3. Installation). You need to remove all theme overrides
from categories, products and CMS pages. There are many places where a theme can be
enabled. If you have just installed a fresh copy of Magento, those places will be empty.
Otherwise, please take a look at these sections of the admin panel:
•

These fields should be left empty, do not select any theme here:
◦ Catalog > Manage Categories > [category] > Custom Design >
Custom Design
◦ Catalog > Manage Products > [product] > Design > Custom Design
◦ Content > Pages > [page] > Design > Custom Theme

Remember to flush the cache after you change design settings.

↑ Go to: Table of Contents

37

4.4 Logo
In Magento 2.1 go to: Content > Design > Configuration > Header.
In the Logo Image field upload your logo image. Magento stores logo images in the
pub/media/logo/ folder. If you have multiple websites and store views in your Magento,
you will see there more subfolders.
If logo image is not uploaded via Magneto admin, Magento will display logo imagewhich is
located here: app/design/frontend/Infortis/ultimo/web/images/logo.png. You can
replace that default file with your own file.

4.4.1 Sticky logo
You can also display site logo in the sticky header. To display sticky logo:
1. Enable sticky logo under Stores > Configuration > Theme Settings >
Header.
2. Upload your sticky logo image to the same folder where your main logo is
stored.
3. Name your sticky logo file the same as the main logo file, but add _sticky suffix to
the file name.
For example:
if your main logo file is logo.png, then your sticky logo file has to be named like this:
logo_sticky.png

4. Flush the cache and refresh the web browser cache.

↑ Go to: Table of Contents

38

4.5 Categories
Note:
All information about categories can be found in Magento documentation:
http://docs.magento.com/m2/ce/user_guide/catalog/categories.html?
Highlight=categories

To create and edit categories in Magento, navigate to Products > Categories section of
the admin panel. After installation of Magento your category tree is almost empty, there is
only the root category (named Default Category).
The root category is not displayed in the frontend of the store – that's why your main
menu is empty just after installing Magento. You need to add new top-level categories
(also called subcategories because they are descendants of the root category) to the root
category.

Important:
all categories have to be descendants of the root category. Do not add
categories outside of the root category tree. A category which is not a
descendants of the root category will not be displayed in the menu on
frontend.

To add a new category:
1. Select the root category by clicking on it. By
selecting the root category you're "telling"
Magento to add your new category to the
existing catalog.
2. Click the Add Subcategory button.
3. A new form will be displayed – fill it in.

↑ Go to: Table of Contents

39

Fill in all the required fields. Especially enable fields Enable Category and Include in
Menu, and then save the category.
This will create a new category which will be displayed as a top-level category in the main
menu on frontend.
Remember that this new category has to be a descendant of the root category – it has
to be one level lower than the root category:

Correct:

Not correct:

If the category was added correctly but it's not displayed on frontend, you may need to
flush the cache (4.1 Caching system) and reindex your Magento (4.2 Index
management).

4.5.1 Category info
For each category you can add some basic information which will be displayed on
category page (above the products). Navigate to Products > Categories and select a
category:
•

Description – category description. You can enter text or HTML.

•

Category Image – main category image.

↑ Go to: Table of Contents

40

4.5.2 Find category ID
How to find out an internal identifier (ID) of a category through Magento admin panel?
Navigate to Products > Categories and click desired category. Look at the URL of the
page in your web browser. It can look like this:
http://example.com/admin/catalog/category/edit/id/21/

You can find the category ID at the end of the URL. In this example it's 21.

4.5.3 Landing pages
You can show your customers a landing page instead of the standard product listing page
when they select the category. You can do so by enabling static block on your category
page (block will be displayed above category products). Navigate to Products >
Categories, select a category, open Display Settings tab and select appropriate value in
the Display Mode field. In the drop-down with CMS blocks, select which block you would
like to display for selected category. The list will include all existing static blocks.
There's also another (more flexible) method to add custom static blocks to categories. Go
to Content > Widgets and add a new widget instance. Through widgets you can add
your static blocks not only to selected categories but also to selected areas (containers)
of the page. For details refer to chapter 4.8.1 Add blocks to selected pages.

4.5.4 Depth of the menu
In the main menu you can limit number of displayed category levels. To do that, go to
Stores > Configuration > Catalog > Category Top Navigation and specify the
depth in Maximal Depth field.
For example, if you want to display only three levels of categories, enter 3 in Maximal
Depth field and save the configuration. From now on, only three levels of categories will
be displayed in the main menu.

4.5.5 Layered Navigation ("Shop By" filters)
Magento's Layered Navigation allows your customers to filter down products using any
attribute that is set as filterable for Layered Navigation. The Layered Navigation menu will
display in the left column of your category pages, and will contain all of the attributes which
are filterable.

↑ Go to: Table of Contents

41

You can configure each attribute to be displayed in Layered Navigation: Use in Layered
Navigation field in Stores > Attributes > Products > [select attribute]. Please
refer to Magento documentation for more details:
•

http://docs.magento.com/m2/ce/user_guide/catalog/navigation-layered.html

4.5.6 Categories inside Layered Navigation
Note:
This theme adds ability to display a list of categories in the category view
(independent from Magento's Layered Navigation). For more details refer to
12.1.3 Sidebar Menu.

You can display categories inside Magento's Layered Navigation block ("Shop by" block)
at the top of the left sidebar in category view. To display selected category in the Layered
Navigation, go to Products > Categories, click selected category and set Anchor field
(in Display Settings tab) to Yes:

From now on this category will be displayed in the Layered Navigation. If the category is
not displayed in the frontend, you may need to flush the cache (4.1 Caching system) and
↑ Go to: Table of Contents

42

reindex your Magento (4.2 Index management).

↑ Go to: Table of Contents

43

4.6 Products
4.6.1 "Only X left" stock indicator
There is a quantity indicator displayed on the product page. It shows the quantity of items
left in stock if the stock level is equal or below the threshold specified in the admin panel.
The threshold can be set in Only X left Threshold field in Stores > Configuration >
Inventory.

Note:
The quantity indicator is displayed only for simple products, it's not displayed
for configurable products.

For example, if you set the option to 20, all simple products with quantity equal or less
than 20 will have the Only X left (where X is the quantity of products) displayed on
product page.

↑ Go to: Table of Contents

44

4.7 Attributes
Attributes are the building blocks of your product catalog, and describe specific
characteristics of a product. Attributes determine the type of input control that is used for
product options, provide additional information for product pages, and are used as search
parameters and criteria for layered navigation (filters), product comparison reports, and
promotions.

Note:
all the details about attributes in Magento can be found in Magento
documentation:
- http://docs.magento.com/m2/ce/user_guide/stores/attributes.html
- http://docs.magento.com/m2/ce/user_guide/catalog/product-attributes.html

You can create as many attributes as you need to describe the products in your catalog.
Refer to chapter 4.7.1 Attribute Management for more details.
Attributes are grouped in attribute sets. Refer to chapter 4.7.2 Attribute Sets for more
details.

4.7.1 Attribute Management
To create or edit attributes, go to Stores > Attributes > Products.
•

To edit existing attribute, select an attribute from the list.

•

To create a new attribute, click the Add New Attribute button.

There are many types of attributes. Each attribute has many properties to configure, but in
most cases you will want to leave the default values. If you're not sure how to configure
each property, then all the necessary information can be found in Magento documentation:
http://docs.magento.com/m2/ce/user_guide/stores/attribute-product-create.html

↑ Go to: Table of Contents

45

Important:
after you create an attribute, you need to add it to the attribute set which
you use for your products. Otherwise your attribute will not be visible on the
product edit page. Refer to chapter 4.7.2 Attribute Sets.

Important:
after making any changes in attributes and attribute sets, you will need to
flush the cache (4.1 Caching system) and reindex your Magento (4.2 Index
management).

In the chapters below you can find a few examples of how to create attributes of different
types.

4.7.1.A Examples of attributes
4.7.1.A.1 Attribute: manufacturer
One of the most useful attribute types is the dropdown type which lets you define a list of
values which will be available when creating new products. Here's an example of the
manufacturer attribute which stores a list of product brands.
Go to Stores > Attributes > Products and click the Add New Attribute button. Fill
in the form as shown on the screenshots below.
•

Enter manufacturer in the Attribute Code field.

•

The Catalog Input Type for Store Owner field needs to be set to Dropdown.

•

In the Manage Options (Values of Your Attribute) table you need to define
values of the attribute – in this case the names of brands which you want to assign
to your products.

↑ Go to: Table of Contents

46

↑ Go to: Table of Contents

47

Remember that after you create the attribute, you need to add it to the attribute set which
you use for your products. Otherwise the attribute will not be visible on the product edit
page.

4.7.1.A.2 Attribute: sale
In this example we will create the sale attribute which will be used to mark products which
should have the "sale" label in product listings. For more details about product labels refer
to 7.8 Product Labels.
Go to Stores > Attributes > Products and click the Add New Attribute button. Fill
in the form as shown on the screenshots below.
•

Enter sale in the Attribute Code field.

•

The Catalog Input Type for Store Owner field needs to be set to Yes/No.

↑ Go to: Table of Contents

48

•

The Used in Product Listing field needs to be set to Yes. Otherwise the "sale" label
wouldn't be visible in product listings.

↑ Go to: Table of Contents

49

Remember that after you create the attribute, you need to add it to the attribute set which
you use for your products. Otherwise the attribute will not be visible on the product edit
page.

4.7.1.A.3 Attribute: new
In this example we will create the new attribute which will be used to mark products which
should have the "new" label in product listings. For more details about product labels refer
to 7.8 Product Labels.
Go to Stores > Attributes > Products and click the Add New Attribute button. Fill
in the form as shown on the screenshots below.
•

Enter new in the Attribute Code field.

•

The Catalog Input Type for Store Owner field needs to be set to Yes/No.

•

The Used in Product Listing field needs to be set to Yes. Otherwise the "new" label
wouldn't be visible in product listings.

↑ Go to: Table of Contents

50

↑ Go to: Table of Contents

51

Remember that after you create the attribute, you need to add it to the attribute set which
you use for your products. Otherwise the attribute will not be visible on the product edit
page.

4.7.1.A.4 Attribute: custom_label
In this example we will create the custom_label attribute which will be used to add
custom labels to products. For more details about product labels refer to 7.8 Product
Labels.
Go to Stores > Attributes > Products and click the Add New Attribute button. Fill
in the form as shown on the screenshots below.
•

Enter custom_label in the Attribute Code field.

•

Set the Catalog Input Type for Store Owner field to Dropdown.

•

Set the Values Required field to No. Otherwise it wouldn't be possible to not
select any value on product edit page.

•

In the Manage Options (Values of Your Attribute) table define values of the

↑ Go to: Table of Contents

52

attribute. These values will be displayed on the product labels, define as many as
you want. Through this attribute you will be able to assign custom labels to selected
products.
•

In the Is Default column, do not select any value as the default.

•

The Used in Product Listing field needs to be set to Yes. Otherwise the label
wouldn't be visible in product listings.

↑ Go to: Table of Contents

53

Remember that after you create the attribute, you need to add it to the attribute set which
you use for your products. Otherwise the attribute will not be visible on the product edit
page.

↑ Go to: Table of Contents

54

4.7.2 Attribute Sets
One of the first steps when creating a product is to choose the attribute set that is used
as a template for the product record. The attribute set determines the fields that are
available during data entry, and the values that appear to the customer. To manage
attribute sets, go to Stores > Attributes > Attribute Set.
The attributes are organized into groups that determine where they appear in the product
record. Your store comes with an initial attribute set called default which includes a set
of commonly-used attributes. If you would like to add only a small number of attributes,
you can add them to the default attribute set. However, if you sell products that require
specific types of information, such as cameras, it might be better to create a dedicated
attribute set that includes the specific attributes that are needed to describe the product.

Important: after making any changes in attributes and attribute sets, you will
need to flush the cache (4.1 Caching system) and reindex your Magento
(4.2 Index management).

Let's continue an example with the manufacturer attribute from the previous chapter. To
add your attribute to an attribute set, go to Stores > Attributes > Attribute Set:

From the list, select an attribute set. You will see Unassigned Attributes section with a
↑ Go to: Table of Contents

55

list of available attributes. You can associate attributes to your attribute set by clicking and
dragging an attribute into the Groups section. To disassociate an attribute, simply drag it
back to the Unassigned Attributes list.

Click the Save button after you finish. You can add your custom attributes to many attribute
sets.
Then, go to Products > Catalog and open a product. If the product is based on the
attribute set which contains your manufacturer attribute, then on the product edit page
you will see the field with the list of manufacturers.
If you correctly added the manufacturer attribute to that attribute set, but on the product
edit page you don't see the field with the list of manufacturers, you may need to flush the
cache (4.1 Caching system) and reindex your Magento (4.2 Index management).

↑ Go to: Table of Contents

56

4.8 Content Management System (CMS)
4.8.1 Add blocks to selected pages
Magento Widget tool (located under Content > Widgets) allows users to easily add
dynamic content to selected pages. This allows for greater control and flexibility in creating
informational and marketing content through administrator tools.

Example 1:
Below you can see an example in which we will add a simple block of content to a product
page.
To add custom content to selected place, first create a static block. Static blocks in
Magento are simple portions of content that can be displayed throughout the site. For
more info about creating a static block, refer to next chapter: 4.8.2 Static blocks.
When your static block with custom content is ready, go to Content > Widgets and add a
new widget instance. Widget will add your static block to a selected place on the frontend
of your store. Click the Add New Widget Instance button. On the next page, you will see
the following options:

1. Choose the widget type: CMS Static Block.
↑ Go to: Table of Contents

57

2. Then you need to select the design in which the widget will be displayed. Select:
Infortis Ultimo.
3. Then, click Continue button.
4. On the next page, goto the Widget Options tab and click the Select Block... button
to choose the static block. You will see the list of all static block. Find and click the
one which you want to display on the frontend:

5. Next, go to the Storefront Properties tab.

↑ Go to: Table of Contents

58

6. In the Widget Title field give the widget a title – you can choose any name you like
(try to make it informative).
7. If you have a multiple store views, in the Assign to Store Views field select in
which store views you want to display the widget.
8. The Sort Order is optional, it will be used to sort widgets if more than one widget
was assigned to the same container on the frontend.
9. Click on the Add Layout Update button – new options will be displayed inside the
Layout Updates section:

10. In the Display On drop-down select a general type of pages on which the widget
will be displayed. Select All product Types.
11. Again, new options will be displayed. You will see the contextual options for your
selection. In this case, you can select for which products you want to add your
widget: All or Specific Products. Select All.
12. In the Block Reference field select where exactly on the page you want to display
your custom static block. Select one of the product page containers, for example:
Product View, Primary Column, Container 1.
List of available containers on product page can be found in this chapter 6.2.3.D
Product page.
You will notice some additional containers, the list may differ in your specific case –
additional containers may have been added by any additional extensions you have
installed in your Magento.
13. Finally, save the widget and then flush Magento cache to see the effect on the
frontend.

↑ Go to: Table of Contents

59

Example 2:
Here's another example in which we will add a block to category view but only for selected
categories (see the Display On list). Block will be displayed in the Preface, Full
Width container (see the Block Reference field), which is a full width container just below
the main menu and above the page content area:

List of all containers available on each page can be found in 6.2.3.A Page.

4.8.2 Static blocks
Static blocks in Magento are simple portions of content that can be displayed throughout
the site. To create a static block, go to Content > Blocks, click Add New Block button
and follow these steps:
1. In the Block Title field, enter the title of the block for internal reference.
2. In the Identifier field, assign a unique identifier to the block. Use all lowercase
characters, with underscores instead of spaces.
3. Select the Store View to which this block will apply.
4. Select Enabled in the Status field. Disabled means that the block is not visible in
the frontend.
5. Insert your Content (it can be text or HTML) and click Save Block.

↑ Go to: Table of Contents

60

Note:
when you want to edit static blocks, it's recommended to disable Magento's
WYSIWYG so that it doesn't process the content of your block before you
start editing it. Turn it on only when it is needed. Go to Stores >
Configuration > Content Management and set WYSIWYG as Disabled
by Default.

Important:
in order to see your changes, you need to refresh Magento cache after
making any changes in your static blocks.

For more details on creating static blocks, refer to Magento documentation:
http://docs.magento.com/m2/ce/user_guide/cms/blocks.html

4.8.3 CMS markup tags
There are some special markup tags – a bit of text surrounded by double curly braces –
which have a special meaning in Magento. They are also called "CMS tags", "CMS
directives", but for simplicity, in this document we will call them "shortcodes".
Shortcodes can be used either in static blocks or CMS pages. For example, rather than
hard-coding the full path to a page, you can use a shortcode to represent the store URL.
Magento will automatically process all shortcodes during page rendering, so on the
frontend instead of shortcodes you will see content generated by each shortcode.
In this chapter you can find examples of the most useful shortcodes available in Magento.
For more information, refer to Magento documentation:
http://docs.magento.com/m1/ce/user_guide/cms/markup-tag-syntax.html

4.8.3.A Store URL
The Store URL shortcode represents the base URL of your website, and is used as a
substitute for the first part of a full URL, including the domain name.

↑ Go to: Table of Contents

61

{{store url=""}}

This shortcode typed into the content of the page will be replaced with the base URL of
your website.
You can use this shortcode to dynamically build all of your links (to avoid hard-coding the
domain name). Thanks to that you will not need to rebuild your links after you move your
store to a new domain.
For example, if your store domain is www.example.com, the following shortcode typed into
the page content:

{{store url="path/to/page/about-us"}}

will be replaced with this URL:

http://www.example.com/path/to/page/about-us/

4.8.3.B Media URL
The Media URL shortcode represents the location and file name of an image. The
shortcode can be used to place an image on a page, static block, or email template.

{{media url="image.png"}}

This shortcode typed into the content of the page will be replaced with the URL of the
image.
The image path is relative to Magento's media directory, so you need to store your
↑ Go to: Table of Contents

62

images inside that directory.
For example, if this is the path of your image: pub/media/wysiwyg/path/to/image.png, you
can get the URL of that image with the following shortcode:

{{media url="wysiwyg/path/to/image.png"}}

Here's how you can use that shortcode in the src="" attribute of  element to display
your image on a page:

My image

4.8.3.C Block ID
The Block ID shortcode is one of the easiest to use, and can be used to place a static
block directly on a CMS page, or even nested inside another static block. You can use this
technique to modify a block for different promotions or languages.

{{block id="my-block-id"}}

The Block ID shortcode references a static block by its identifier. In the id attribute, enter
an identifier of the static block which you want to display. For example:

{{block id="tester01"}}

This shortcode typed into the content of the page will be replaced with the content of the
static block tester01.

↑ Go to: Table of Contents

63

4.8.4 WYSIWYG editor
WYSIWYG (What You See Is What You Get) editor is a convenient way to add content to
pages and static blocks in Magento.

Important:
WYSIWYG should only be used to edit text, never use it to edit HTML.
Always turn off WYSIWYG editor when you want to edit HTML or Magento's
CMS tags in the page/block content. Otherwise WYSIWYG editor can break
your content.

But the best way to use WYSIWYG is to turn it on only when it is needed. Go to Stores
> Configuration > Content Management and set it as Disabled by Default.
After that, if needed, WYSIWYG can always be turned on with Show/Hide Editor button
above the page/block content field.

↑ Go to: Table of Contents

64

4.9 Translation / Localization
4.9.1 Interface translation
You can download language packages for Magento from Magento Marketplace:
https://marketplace.magento.com/extensions/content-customizations/translationslocalization.html
For more details about translations and languages please refer to the official
documentation of Magneto:
•

http://docs.magento.com/m2/ce/user_guide/stores/store-language-add.html

•

http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/translations/xlate.html

Ultimo theme adds a few additional interface labels. All the new labels are located in this
file: app/design/frontend/Infortis/base/i18n/en_US.csv
This file can be used to:
•

translate the interface labels into other languages.

•

replace one phrase with another phrase. For example, when you want to use
"Compare" instead of "Add to Compare".

Example:
To translate the interface into Spanish language, follow these instructions:
•

Go to folder app/design/frontend/Infortis/base/i18n/

•

Make a copy of en_US.csv

•

Rename that copy to es_ES.csv

•

Open your new file in Open-office Calc (or some good text editor like Notepad++,
PSPad) and make all required changes in your translation.

↑ Go to: Table of Contents

65

Note:
The editor should be capable to save file in UTF-8 encoding. Do not use
Excel, it can break file structure. Read more about useful tools:
http://www.magentocommerce.com/wiki/groups/166/useful_tools_to_work_w
ith_translations

•

If you open your file in Open-office Calc it might look like this:

My Wish List
My Account
Create an Account
Add to Wish List
Add to Compare
…

Wish List
Account
Sign Up
Wish List
Compare

File opened in a text editor might look like this:

"My Wish List", "Wish List"
"My Account", "Account"
"Create an Account", "Sign Up"
"Add to Wish List", "Wish List"
"Add to Compare", "Compare"
...

The first column contains the original character strings. It should be left intact. In
the second column you can place your translation of each string.

4.9.2 Language flag
If you have more than one store view in your store, the store view switcher will be
displayed at the top of the page. You can enable different language for each store view.
↑ Go to: Table of Contents

66

For each available language a flag is displayed in the store view switcher (we can also call
it “language switcher”). Flag images (16x12 pixels, PNG format) should be uploaded to
app/design/frontend/Infortis/base/web/images/flags folder. Image names should be
the same as the store view codes. E.g. if you have a store view with the store code de,
you will need to upload a flag image de.png to the
app/design/frontend/Infortis/base/web/images/flags folder.
To check what is the store view code, go to Stores > All Stores and click on the store
view name. You can find the code in the Code field:

Remember that if you change the store view code, you will also need to change the name
of the corresponding flag image.

↑ Go to: Table of Contents

67

5. Customization
Important:
please note that Magento theme customization is far beyond the scope of
this user guide. This chapter is only for informational purposes, you should
treat it as a starting point. Before you start to customize the theme you need
to be sure that you know what you're doing.

Magento is based on a theming concept referred to as parent/child theming – changes in
the theme can be implemented without modifying the original.
The correct way to customize the theme in Magento is to create your own sub-theme of
the default theme in the design package. You should never edit original files of the
design package. Files that need to be modified can be copied from the default theme to
your custom sub-theme inside the design package. But don't copy all files, only the files
which you're going to modify.
This way you can override any file of the theme. And you can be sure that when something
goes wrong you can simply delete your custom sub-theme without breaking the original
theme files.
In this chapter you can find basic information that will help you to modify the theme.

↑ Go to: Table of Contents

68

5.1 How to modify the theme
5.1.1 Override default CSS styles
5.1.1.A Use _custom.less file
When you want to make some non-standard design changes (for which you can't find any
settings in the theme admin panel) you can do it by adding custom CSS styles. In Ultimo 2
you can add custom CSS styles directly inside this file:

/app/design/frontend/Infortis/ultimo/web/css/_custom.less

Or, preferably, create your own child-theme (with Ultimo as its parent theme). And then,
create _custom.less file in the following location:

/app/design/frontend///web/cs
s/_custom.less

Like always in Magento 2: when you make changes in CSS, JavaScript, interface images,
icons etc., you need to rebuild Magento static files. Generating static files is simple –
just run the following Magento command:
bin/magento setup:static-content:deploy
If you correctly refresh Magento static files, your custom styles will be applied to the
frontend of your store.

5.1.1.B Debugging
If your custom styles are not applied to the frontend of your store, then there are a few
things that could go wrong:
1. This may be a problem with generating static files in your Magento.

↑ Go to: Table of Contents

69

2. The cache in your Magento was not flushed or you didn't clear the cache in your
web browser.
3. Your _custom.less file may be not accessible for Magento because of incorrect file
permissions on your server.
4. If file is loaded and is accessible for Magento, but CSS rules from that file are not
visible in Firebug then it means that your CSS rules are incorrect (or formatting of
the CSS code in that file is incorrect).
5. If CSS rules are visible in Firebug, but they don't take any effect, then it means that
your CSS rules are not specific enough and they are being overridden by theme's
default CSS rules.
CSS rules need to have proper specificity to override default CSS rules. You can
read more about it here:
◦ https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity
◦ http://www.smashingmagazine.com/2007/07/27/css-specificity-things-youshould-know/
◦ http://specificity.keegan.st/

5.1.1.C Add CSS via Magento admin
There is an alternative way to add custom CSS styles. Custom CSS can be added through
Magento admin panel.
In Magento 2.1, go to: Content > Design > Configuration > HTML Head. In the
Scripts and Style Sheets field add the following line:


File my_styles.css containing your custom CSS styles needs to be placed in the following
folder in your Magento:
pub\media\my_styles.css

↑ Go to: Table of Contents

70

5.1.1.D How to find out which part of CSS to override?
How to find out which part of the theme's or Magento's CSS you need to override or
extend? The best way is to use Firebug (an add-on for Firefox: www.getfirebug.com),
Chrome Developer Tools (available in Google Chrome) or other similar tools.
See the short video tutorial about Firebug: http://getfirebug.com/video/Intro2FB.mp4

How to use CSS?
Here you can find more information about CSS:
•

https://developer.mozilla.org/en-US/learn/css

•

http://www.w3schools.com/css/

•

http://reference.sitepoint.com/css/syntax

↑ Go to: Table of Contents

71

5.1.2 Modify template files
Magento consists of dozens of template files, each one is used to render a block of
content in the frontend of the store. When you want to customize a theme, you can display
the name of template file of every block in the frontend by enabling Magento's Template
Path Hints.

Note:
to enable Magento's Template Path Hints go to
Stores > Configuration > Developer. Select your current website
under Current Configuration Scope in the top left corner of the admin
panel, otherwise Template Path Hints settings will not be visible.
See this short video tutorial for more details: http://vimeo.com/1067069

This way you can easily check which template files you need to edit to customize specific
sections of Magento. Don't modify the core files. Files which you want to modify
needs to be copied to your custom sub-theme.

↑ Go to: Table of Contents

72

5.1.3 Create custom sub-theme
The correct way to customize the theme in Magento is to create custom sub-theme. You
should never edit the original files. Files that need to be modified can be copied to your
custom sub-theme. Refer to 5.2 Magento theme customization for more details.

Important:
when you're creating a sub-theme in Magneto you should only copy the files
which you want to modify. Do not copy all files. Otherwise you will have
tons of additional work in the future with any theme upgrade.

To check which template file you need to edit to customize specific section of Magento you
can enable Magento's Template Path Hints. Refer to chapter 5.1.2 Modify template files
for more details.
If the file which you selected with Template Path Hints doesn't exist in Ultimo package (a
theme doesn't need to override all template files from Magento's “base” theme), you can
copy that file from Magento's “base” theme to your custom sub-theme inside Ultimo
package.
By creating custom sub-theme:
•

You can override any file.

•

You can create upgrade-proof modifications.

•

You can be sure that when something goes wrong you can simply delete your
sub-theme without breaking the original files.

↑ Go to: Table of Contents

73

5.2 Magento theme customization
Note: Chapter requires updating, the structure of themes has changed completely in
Magento 2.

↑ Go to: Table of Contents

74

You are reading: Theme features and elements

6. Theme features and
elements
In this chapter you can find description and configuration details of selected elements of
this theme, such as home page, built-in static blocks, CSS classes etc.

Note:
The list of all settings available in the theme admin panel in Stores >
Configuration can be found in the next chapters.

↑ Go to: Table of Contents

75

You are reading: Home page and CMS pages

6.1 Home page and CMS pages
To manage content of CMS pages in Magento, go to Content > Pages section in
Magento admin panel.

6.1.1 Default pages
To configure the default pages for your store, go to Stores > Configuration >
General > Web > Default Pages tab.
The Default Pages configuration determines the landing page that is associated with the
base URL, and the corresponding CMS home page. It also determines which CMS page
appears when a "404 Page Not Found" error occurs. It also determines if a breadcrumb
trail appears at the top of CMS pages.

6.1.1.A Selecting a home page
To configure the default home page for your store, go to Stores > Configuration >
General > Web > Default Pages tab, select the desired page in the CMS Home Page
field and save configuration.

Important:
after the theme is installed, you can import sample versions of home pages
from the demo. For more details about import procedure refer to 7.11 Data
Import. Imported pages will be visible in the Content > Pages section.

6.1.2 Creating a page
The process of adding a new CMS page to your store is essentially the same for any type
of page you might want to create. You can include text, images, blocks of content,
variables, and widgets. Most content pages are designed to be read by search engines
first, and by people second. Keep the needs of each of these two very different audiences
in mind when choosing the page title and URL, composing the meta data, and writing the
↑ Go to: Table of Contents

76

You are reading: Home page and CMS pages
content.
To create a new page, go to Content > Pages section.

6.1.2.A Page layout
For every CMS page in Magento you can select page layout – the number of columns:
one, two, or three columns.
To change the layout of the page, go to Content > Pages, open desired page, open the
Design tab, then select one of the options in the Layout field and click the Save Page
button:

6.1.2.B Page content
Page content can include text, images, blocks of content, variables, and widgets.
To edit a content of a page, go to Content > Pages and open desired page. Content can
be found in the main text field of the Content tab:

↑ Go to: Table of Contents

77

You are reading: Home page and CMS pages

Important:
always turn off WYSIWYG editor when you want to edit HTML of the page.
Otherwise WYSIWYG editor will break the content. Refer to 4.8.4
WYSIWYG editor for more details.

6.1.2.C Full width page
To create a full width page, go to Content > Pages, select a page (or create a new one),
open the Design tab, select 1 column, full width in the Layout field and click the
Save Page button. From now on, the content area of the page will be stretched to full
width of the browser viewport.

6.1.2.C.1 Maximum width of the content
If you want the content area of that page to keep the same width as a standard page has,
↑ Go to: Table of Contents

78

You are reading: Home page and CMS pages
you need to wrap the content in an additional div with the container class, like on the
example below. The content inside this wrapper will be aligned with the other sections of
the page (e.g. with the header) and will not exceed the maximum width which is defined in
the Maximum Breakpoint field under Stores > Configuration > Theme Layout.
Here's the code example:

This is a sample text
The container class is responsible for applying the maximum width of the content area. And the inner-container class is responsible for additional side padding of the content area. 6.1.2.C.2 Content with full width background To create full width blocks on the page, wrap your content in an additional div and apply a background color using inline CSS (using a style attribute in HTML elements), for example:
This is a sample text 1
More details about the bacground-color property can be found here: https://developer.mozilla.org/en-US/docs/Web/CSS/background-color You can add multiple blocks to divide a page content into multiple sections, each section in different color:
This is a sample text 1
↑ Go to: Table of Contents 79 You are reading: Home page and CMS pages
This is a sample text 2
↑ Go to: Table of Contents 80 You are reading: Home page and CMS pages 6.1.3 Home page blocks The following chapter describes blocks which can be displayed inside the content area of the home page. Important: it's highly recommended to turn off the WYSIWYG editor so that it doesn't process the code before you start editing it. Turn it on only when it is needed. Refer to 4.8.4 WYSIWYG editor for more details. 6.1.3.A Image slideshow To add a slideshow to the home page, refer to chapter 10. Slideshow. 6.1.3.B Banners To create image banners, refer to chapter 6.5.5 Banners. 6.1.3.C Grid/List of Products To display a block of products (grid or list mode) similar to the block of products displayed in the category view – use the following shortcode: {{block class="Magento\Catalog\Block\Product\ListProduct" template="product/list.phtml" category_id="3" }} Enter the shortcode in the content field of your page, Magento will automatically replace the shortcode with a block during page rendering. ↑ Go to: Table of Contents 81 You are reading: Home page and CMS pages The shortcode can take a few parameters. All available parameters are presented below. Required parameters: • – identifier of the category which you want to present in the block. Make sure you enter identifier of the category which actually exists in your store (and which is active) – otherwise the block will not appear. category_id Note: to find out an identifier of a selected category, refer to chapter 4.5.2 Find category ID. Optional parameters: • grid_column_count – determines the number of products displayed in a single row. If you omit this parameter, the grid will have the number of columns defined in the admin panel in section Stores > Configuration > Theme Settings > Category View (Grid Mode) > Number of Columns. • mode – choose the mode in which the block displays products. Available values: ◦ grid – grid mode. This is the default mode. If you want to display grid, you can completely omit this parameter. ◦ list – list mode • – changes the size of the elements of the grid, such as product name, price. Available values: size ◦ XL – elements bigger than the standard size ◦ L – elements a little bit bigger than the standard size ◦ M – this is the default size. If you want elements to have the default size, you can completely omit this parameter. ◦ S – elements a little bit smaller than the standard size ◦ XS – elements much smaller than the standard size • hide_toolbar – enter 1 to hide the toolbar ↑ Go to: Table of Contents 82 You are reading: Home page and CMS pages – enter product image width. If width is not specified, default width will be used (208 pixels). • img_width • img_height – enter product image height. To keep the original aspect ratio of product images, specify the width of images using the img_width parameter and omit the img_height parameter. Thanks to that the height of each image will be calculated automatically based on its width. ↑ Go to: Table of Contents 83 You are reading: Home page and CMS pages 6.1.4 Featured Products Slider Featured products slider can show products from any category (only single category is allowed). Slider can be displayed on any CMS page (and inside any static block). To add a slider to a page, use the following shortcode: {{block class="Infortis\Base\Block\Product\ProductList\Featured" template="product/list_featured_slider.phtml" category_id="3" block_name="My Products" }} Enter the shortcode in the content field of your page, Magento will automatically replace the shortcode with a slider during page rendering. Later in this chapter you can find examples of the shortcodes: 6.1.4.B Examples of shortcodes. Note: make sure that in the category_id parameter you specified an identifier of a category which actually exists in your store (and which is active) – otherwise the slider will not appear. Other parameters are described later in this chapter. Important: in order to display the slider correctly, you may need to flush the cache (4.1 Caching system) and reindex your Magento (4.2 Index management) after making any changes in your products or categories. 6.1.4.A List of parameters The shortcode which creates a slider can take a few parameters. Only the category_id ↑ Go to: Table of Contents 84 You are reading: Home page and CMS pages parameter is required. The other parameters are optional, they can be used to override the global settings of sliders (global settings can be found in 7.10 Product sliders). If you create multiple sliders on a single page (by adding multiple shortcodes), then in each shortcode you can have different values of parameters. All available parameters are presented below. Required parameters: • – identifier of the category which you want to present in the slider. Make sure you enter identifier of the category which actually exists in your store (and which is active) – otherwise the slider will not appear. category_id Note: to find out an identifier of selected category, refer to chapter 4.5.2 Find category ID. Optional parameters: – the name of the block displayed as a heading. • block_name • product_count • thumbnails – the total number of products presented in the slider. – display products as thumbnails (small image with name and price displayed at the side of the image). Available values: ◦ L – image size: 200 x 200 pixels ◦ M – image size: 150 x 150 pixels ◦ S – image size: 100 x 100 pixels ◦ XS – image size: 80 x 80 pixels – products can be displayed vertically in multiple rows (one below another). In this parameter you can specify the number of rows of products. • rows • breakpoints – with this parameter you can specify the number of columns (products) in a row visible with a particular browser viewport width. Use the following format (this is the default value, it will be used if this parameter is not specified in the block code): ↑ Go to: Table of Contents 85 You are reading: Home page and CMS pages breakpoints="[0, 1], [320, 2], [480, 3], [768, 4], [992, 5], [1200, 6]" Value of this parameter consists of pairs of numbers in brackets separated by comma. In each pair of numbers [A, B] number A indicates the web browser viewport width, number B indicates the number of columns visible if browser viewport width is greater than the width specified in A. In other words: display B columns if viewport width is above A pixels. Below you can find some examples: ◦ Example 1: breakpoints="[0, 2], [480, 3], [992, 5]" This value can be translated as: display 2 columns if viewport width is between 0px and 480px, display 3 columns if viewport width is above 480px, display 5 columns if viewport width is above 992px. ◦ Example 2: breakpoints="[0, 1], [480, 2], [768, 1]" This value is useful if you want to place the slider inside a narrow container, e.g. inside a sidebar, or inside a narrow column created with the grid system. This value can be translated as: display 1 column if viewport width is between 0px and 480px, display 2 columns if viewport width is above 480px, display 1 column if viewport width is above 768px. This means that if the screen is wider than 768px only 1 column will be visible. Thanks to that, the slider can be displayed inside narrow containers. ◦ Example 3: breakpoints="[0, 4]" which can be translated as: always display 4 columns. – enter product image width. If width is not specified, default width will be used (170 pixels). • img_width • img_height – enter product image height. To keep the original aspect ratio of ↑ Go to: Table of Contents 86 You are reading: Home page and CMS pages product images, specify the width of images using the img_width parameter and omit the img_height parameter. Thanks to that the height of each image will be calculated automatically based on its width. – to animate the slider automatically, specify the time (in milliseconds) between transitions. Note that 1000 milliseconds = 1 second. • timeout • move – number of products that should move on animation. Allowed values: ◦ enter 1 to move one product. ◦ enter 0 to move all visible products. This is also the default value which is used if the parameter is not specified. – enter 1 if the slider should loop. • loop • pagination • centered • size – enter 1 to display pagination. – enter 1 to align elements of the slider to the center. – with this parameter you can change the size of the elements of the slider, such as product name, price. Available values: ◦ XL – elements bigger than the standard size ◦ L – elements a little bit bigger than the standard size ◦ M – this is the default size. If you want elements to have the default size, you can completely omit this parameter. ◦ S – elements a little bit smaller than the standard size (the old value size-s was replaced with S). ◦ XS – elements much smaller than the standard size (the old value size-xs was replaced with XS). • is_random • sort_by – enter 1 to display random products from the selected category. – with this parameter you can change the order of products. Available values: ◦ position – default order of products in category. This is the default sort order if you omit this parameter in the shortcode. ◦ name – sort by name ↑ Go to: Table of Contents 87 You are reading: Home page and CMS pages ◦ price – sort by price • – with this parameter you can change the direction of sorting. Available values: sort_direction ◦ ASC – ascending (default) ◦ DESC – descending • – enter 0 if the slider should not be responsive. If this parameter is not specified, it is always assumed that the slider is responsive. is_responsive Important: If the slider is not responsive, the number of visible products should be specified with the additional show_items parameter (see below). ◦ show_items – the number of products in a row in the non-responsive slider. Use this parameter only if responsive behavior was disabled with parameter is_responsive (see above) • hide_button – enter 1 to hide "Add to cart" button • hide_labels – enter 1 to hide product labels (such as "sale") • hide_addto_links • hide_name • hide_rating • hide_price – enter 1 to hide "Add to Wishlist" and "Add to Compare" links – enter 1 to hide product name – enter 1 to hide product ratings – enter 1 to hide product price 6.1.4.B Examples of shortcodes Sort by name, automatic scrolling To change the default sort order, use sort_by and sort_direction parameters. To add the automatic scrolling, use the timeout parameter. For example, timeout="8000" will animate the slider every 8 seconds (8000 milliseconds equals 8 seconds). ↑ Go to: Table of Contents 88 You are reading: Home page and CMS pages {{block class="Infortis\Base\Block\Product\ProductList\Featured" template="product/list_featured_slider.phtml" category_id="3" product_count="12" block_name="My Products" sort_by="name" sort_direction="ASC" timeout="8000" hide_button="1" }} Large products with large images To make the products larger, you need to change the value of the breakpoints parameter to change the number of products in a row. Also, you need to increase the size of product images using img_width and img_height parameters. To keep the original aspect ratio of images, specify only the width and omit the img_height parameter. Thanks to that the height of each image will be calculated automatically based on its width. {{block class="Infortis\Base\Block\Product\ProductList\Featured" template="product/list_featured_slider.phtml" category_id="3" product_count="12" block_name="Our Featured Products" breakpoints="[0, 1], [480, 2], [640, 3], [992, 4]" img_width="265" centered="1" hide_button="1" }} Vertical thumbnails To display products as thumbnails, add the thumbnails parameter to specify the size of the thumbnails. To display products vertically in multiple rows (one below another), specify number of rows using the rows parameter. Also, if you want to place the slider with vertically displayed thumbnails inside a narrow column (e.g. inside a sidebar, or inside a narrow column created with the grid system), it's ↑ Go to: Table of Contents 89 You are reading: Home page and CMS pages recommended to set the breakpoints parameter to [0, 1], [480, 2], [768, 1], so that the slider displays only one column of products when screen is wide (on large tablets and desktops). {{block class="Infortis\Base\Block\Product\ProductList\Featured" template="product/list_featured_slider.phtml" category_id="3" product_count="12" block_name="Vertical Thumbnails" thumbnails="M" breakpoints="[0, 1], [480, 2], [768, 1]" rows="4" hide_button="1" }} Small vertical thumbnails This example is similar to previous examples. What's different is that you can additionally make the thumbnails smaller by changing the value of the thumbnails parameter to S, and make the elements of products (name, price) smaller by adding size="S" parameter. You can also hide elements such as: "Add to cart" buttons, product labels, "Add to..." links, ratings etc. {{block class="Infortis\Base\Block\Product\ProductList\Featured" template="product/list_featured_slider.phtml" category_id="3" product_count="12" block_name="Small Thumbnails" thumbnails="S" breakpoints="[0, 1], [480, 2], [768, 1]" rows="4" size="S" hide_button="1" hide_labels="1" hide_addto_links="1" hide_rating="1" }} 6.1.4.C Display any set of products using the slider You can use the slider to display any set of products in your store. Slider can display products from any category, so you can simply create categories which will group any type of products you need, for example: bestsellers, products from specific brand, new products, promotional products etc. ↑ Go to: Table of Contents 90 You are reading: Home page and CMS pages You can, for example, display "on sale" products on the home page: 1. Create a new category. Name it "Special Offer". 2. Set the Include in Menu field to No – thanks to that the category will not be displayed in the main menu. The category will be only used to group selected products for slider. 3. Add all products with special price (or any other products you want) to the new "Special Offer" category. 4. Make sure Magento indexes are refreshed after you added products to the new category. 5. Create a slider (using a shortcode) which will display products from the "Special Offer" category: a) Create a shortcode which will define the slider. Examples of shortcodes and description of all available parameters can be found earlier in this chapter. b) Specify the identifier of the "Special Offer" category in the shortcode. Make sure you use an identifier of a category which really exists in your store – otherwise the slider won't appear. Note: to find out an identifier of selected category, refer to chapter 4.5.2 Find category ID. c) Add the shortcode to the content of your page. 6. Flush Magento cache (and any other cache you use). ↑ Go to: Table of Contents 91 You are reading: Built-in blocks and containers 6.2 Built-in blocks and containers In Magento, you can create custom blocks of content without writing any code, and assign them to appear in a specific place in the page layout. Custom content can be added to the frontend through static blocks. A static block is a modular unit of content that can be easily managed through Magento admin panel. Static blocks are sometimes referred to as CMS blocks, or content blocks, and can be used to display fixed information such as text, images, and embedded video, as well as dynamic information from widgets. To create a static block, go to Content > Blocks section of admin panel. For more information, refer to chapter 4.8.2 Static blocks. Note: when you want to edit static blocks, it's recommended to disable Magento's WYSIWYG so that it doesn't process the content of your block before you start editing it. Turn it on only when it is needed. Go to Stores > Configuration > Content Management and set it as Disabled by Default. You can also import predefined static blocks included with this theme – refer to 7.11 Data Import for more details about import. 6.2.1 Add custom content There are two main ways to add custom content to the frontend: • built-in static blocks – import (or create) a static block which will be automatically displayed in the predefined area of the page. • custom static blocks assigned to selected containers – create a custom static block and then assign it (through Magento's Widget tool) to one of the available containers in the page layout. ↑ Go to: Table of Contents 92 You are reading: Built-in blocks and containers Full list of identifiers of all built-in static blocks and containers available in this theme can be found later in this chapter (6.2.3 List of built-in static blocks and containers). 6.2.1.A Built-in static blocks There is a number of built-in static blocks in Ultimo theme. A built-in static block is a block that is automatically displayed in the predefined area of the page on frontend. For example, block_footer_payment is an identifier of the static block which is displayed in the footer of every page. This means that if you create and enable a block with this identifier (block_footer_payment), the content of that block will be automatically displayed in the footer of every page. This particular block is being used to show information about payment methods but of course you can use it for any other purpose. All built-in static blocks (with sample content) are available for import right after theme installation. 6.2.1.B Custom static blocks assigned to containers When you create a custom static block, you can assign it to appear in a specific place in the page layout. To do that, you need to assign your static block to a container. There are many containers available to choose from. Containers exist for the sole purpose of assigning content structure to a page. A container has no additional content except the content of included blocks. To assign a static block to a selected container, you need to create a widget. Widget will bind your static block with selected container – it will "tell" Magento where you want to display your block and on which pages it should be displayed. To create a widget, go to Content > Widgets section of admin panel. Refer to chapter 4.8.1 Add blocks to selected pages for more details. An example of a container is the sidebar on category pages. This container is named Sidebar Main. You can assign static blocks to the sidebar to display some additional information on selected pages, e.g. information about discounts for products from selected categories. 6.2.2 Import static blocks There is a number of predefined static blocks included with Ultimo theme. You can import these blocks with one click – refer to 7.11 Data Import for more details about the import procedure. ↑ Go to: Table of Contents 93 You are reading: Built-in blocks and containers Note: content of all static blocks is also available in XML format in case you need to restore the original content of some blocks. XML can be found in the following directory: app/code/Infortis/Base/etc/importexport/cms/ There are two types of imported blocks: 1. built-in static blocks – these are blocks that are automatically displayed in predefined area of the page. Identifiers of all built-in blocks start with block_ prefix. For example: block_footer_payment, block_footer_links. Note: you can not change the identifiers of built-in static blocks. If identifier is changed, block will not be displayed in predefined area any more. 2. sample static blocks – sample blocks which you can use as a starting point when creating your custom content. You can assign these blocks to selected containers using the Widget tool. Identifiers of all sample blocks start with sample_ prefix. For example: sample_slideshow_1, sample_slideshow_2. Note: in contrast to built-in static blocks, you can change the identifiers of sample static blocks to whatever you want. After importing, some of the blocks are disabled. You will need to enable them in order to show their content in your store. You can replace the default content of each block with your own content. Remember that you need to flush Magento cache after making any changes in your static blocks. Sample content Most of the blocks already contain sample content. You can replace it with any custom content, but using provided samples will help you to keep the design consistent. ↑ Go to: Table of Contents 94 You are reading: Built-in blocks and containers 6.2.3 List of built-in static blocks and containers In the next subchapters you can find identifiers of built-in static blocks and containers available in Ultimo theme. 6.2.3.A Page The screenshot below presents positions of containers which are available on every page of the frontend, including home page, product pages, category pages etc. Important: Please note that this user guide is not yet fully updated. In Magento 2 some containers may have slightly different names than in Magento 1. ↑ Go to: Table of Contents 95 You are reading: Built-in blocks and containers You can assign any number of custom static blocks to each container. If block is assigned to a container, you can choose to display it on all pages, but you can also choose to display it only on selected pages. For details about assigning static blocks to containers refer to chapter 4.8.1 Add blocks to selected pages. Containers are suitable for any kind of additional information: discounts and promotions, image banners, social services bookmarks etc. ↑ Go to: Table of Contents 96 You are reading: Built-in blocks and containers List of containers: 1. Preface, Full Width – container above the content area and above sidebars. It is stretched to full width. 2. Preface – container above the content area and above sidebars. 3. Main Content Area – container above the content area of the page. It is as wide as the content area. It is displayed between the sidebars (if page has sidebars). 4. Left Column, Top – container at the top of the left sidebar. Blocks added to this container will be visible only if page has the left sidebar. 5. Left Column – container at the bottom of the left sidebar. Blocks added to this container will be visible only if page has the left sidebar. 6. Right Column, Top – container at the top of the right sidebar. Blocks added to this container will be visible only if page has the right sidebar. 7. Right Column – container at the bottom of the right sidebar. Blocks added to this container will be visible only if page has the right sidebar. 8. Postscript – container below the content area and below sidebars. 9. Postscript, Full Width – container below the content area and below sidebars. It is stretched to full width. ↑ Go to: Table of Contents 97 You are reading: Built-in blocks and containers 6.2.3.B Header The screenshot below presents positions of block containers which are available in the page header: You can assign any number of custom static blocks to each container. If your block is assigned to a container, you can choose to display it on all pages, but you can also choose to display it only on selected pages. For details about assigning static blocks to containers refer to chapter 4.8.1 Add blocks to selected pages. List of containers which are available in the page header: 1. Page Header, Top, Left – container at the left side of the top header. Blocks added to this container are floating from left to right. There is also an additional built-in static block block_header_top_left. Content of this block will be automatically displayed just next to this container (if the block exists and is active). To use it, go to Content > Blocks, create a static block with identifier block_header_top_left and insert your content. Note that this block is also available (with sample content) if you import predefined static blocks provided with this theme. 2. Page Header, Top, Right – container at the right side of the top header. Blocks added to this container are floating from right to left. There is also an additional built-in static block block_header_top_right. Content of this block will be automatically displayed just next to this container (if the block exists and is active). To use it, go to Content > Blocks, create a static block with identifier block_header_top_left and insert your content. 3. Page Header, Primary, Left Column – container displayed above the content of the left column in the primary header. ↑ Go to: Table of Contents 98 You are reading: Built-in blocks and containers 4. Page Header, Primary, Central Column – container displayed above the content of the central column in the primary header. 5. Page Header, Primary, Right Column – container displayed above the content of the right column in the primary header. 6. Page Header – container displayed above the columns of the primary header. 7. Page Top – full-width container displayed above the header. Additionally you can also display two predefined static blocks in the menu bar: 8. block_nav_links – built-in static block for the main menu. To display custom links in the main menu bar, create a static block with identifier block_nav_links. The content of this block will be automatically displayed directly in the menu bar so the content needs to have proper structure (it's described in this chapter: 12.3.1 Custom links inside a static block). 9. block_nav_dropdown – built-in static block for the main menu. To display a custom drop-down box in the main menu, create a static block with identifier block_nav_dropdown. The content of this block will be automatically displayed in a drop-down box and the title of this block will be displayed as the name of the menu item. There's also an additional container displayed only in mobile view: 10. Page Mobile Header, Top – container in the top header. Custom static blocks assigned to this container via Magento widgets will be automatically displayed in the top header only in mobile view. For quick start you can use sample static block sample_mobile_header_top which is provided with the theme (you just need to import static blocks first). Simply create a new widget and inside that widget assign the static block sample_mobile_header_top to the container named Page Mobile Header, Top. For details about assigning static blocks to containers, refer to chapter 4.8.1 Add blocks to selected pages. You can add any content inside your static block. Below you can find some examples. ↑ Go to: Table of Contents 99 You are reading: Built-in blocks and containers Example 1: A short text with a background color:
Text example
To align the content to the left side, put your content inside a
with the following classes:
...
So the content of your block can look like this:
Text example
To align the content to the right side, replace the item-left class with the item-right class, like this:
Text example
To make the content centered, remove the item-left and item-right classes and use an inline CSS style="text-align: center;" on the containing
:
↑ Go to: Table of Contents 100 You are reading: Built-in blocks and containers
Text example
Example 2: A few simple links aligned to the left side: ↑ Go to: Table of Contents 101 You are reading: Built-in blocks and containers 6.2.3.C Footer Static blocks with the following identifiers will be displayed in the footer section of the page: 1. block_footer_links – this built-in static block can be used to substitute Magento's default Footer Links (a set of links: Contact Us, Advanced Search, Orders and Returns etc.). Default Footer Links can be disabled in the admin panel, refer to 7.9 Footer for more details. 2. block_footer_links2 – additional built-in static block for footer links, floating right. 3. block_footer_primary_bottom_left – built-in static block with icons and links to social services. 4. block_footer_primary_bottom_right – this built-in static block can substitute Magento's default newsletter subscription form. Newsletter form can be disabled in the admin panel, refer to 7.9 Footer for more details. 5. block_footer_payment – built-in static block suitable for information about available payment methods, credit cards, SSL certificates etc. 6. block_footer_column1 – built-in static block which can be used as a column of ↑ Go to: Table of Contents 102 You are reading: Built-in blocks and containers links in the main area of the footer section, suitable for any custom content: social services links, shipping information, promotions, company address etc. You can use up to six similar static blocks. 7. block_footer_column2 – see above 8. block_footer_column3 – see above 9. block_footer_column4 – see above 10. block_footer_column5 – see above 11. block_footer_column6 – see above 12. block_footer_row2_column1 – obsolete, this block was removed in Magento 2 13. block_footer_row2_column2 – obsolete, this block was removed in Magento 2 14. block_footer_row2_column3 – obsolete, this block was removed in Magento 2 15. block_footer_row2_column4 – obsolete, this block was removed in Magento 2 16. block_footer_row2_column5 – obsolete, this block was removed in Magento 2 17. block_footer_row2_column6 – obsolete, this block was removed in Magento 2 Note that the columns inside the footer don't need to be equal. You can arrange your content in many different ways, you have full control over those blocks. Disable all static blocks with ID block_footer_column[x] (where [x] is a number from 1 to 6) and leave only one block enabled, e.g. this one: block_footer_column6. Thanks to that, your block block_footer_column6 will be stretched inside the footer and it will take the entire available space. Now, inside block_footer_column6 organize your content using built-in grid classes, for example:
Column1...
Column2...
Column3...
Column4...
Column5...
↑ Go to: Table of Contents 103 You are reading: Built-in blocks and containers
More info about grid system can be found in 6.4 Grid system. ↑ Go to: Table of Contents 104 You are reading: Built-in blocks and containers 6.2.3.D Product page The screenshot below presents positions of block containers which are available on product page: You can assign any number of custom static blocks to each container. If block is assigned to a container, you can choose to display it on all pages, but you can also choose to display it only on selected pages. For details about assigning static blocks to containers refer to chapter 4.8.1 Add blocks to selected pages. Containers are suitable for any kind of additional information: discounts and promotions, available shipping methods, available payment methods, promotional image banners, social services bookmarks (such as AddThis bookmarks) etc. ↑ Go to: Table of Contents 105 You are reading: Built-in blocks and containers List of containers which are available on product page: 1. Product View, Primary Column, Container 1 – container displayed below product's short description inside the primary column. 2. Product View, Primary Column, Container 2 – container at the bottom of the primary column. Note: the static block with ID block_product_primary_bottom was removed in Magento 2. 3. Product View, Secondary Column, Container 1 – container at the top of the secondary column. 4. Product View, Secondary Column, Container 2 – container at the bottom of the secondary column. There is also an additional built-in static block block_product_secondary_bottom. Content of this block will be automatically displayed below the brand logo inside the secondary column. To use it, go to Content > Blocks, create a static block with identifier block_product_secondary_bottom and insert your content. Note that this block is also available (with sample content) if you import sample static blocks provided with this theme. 5. Product View, Image Column – container displayed just below the image gallery. Note: the static block with ID block_product_img_bottom was removed in Magento 2. Additionally you can also display two static blocks as tabs on product page. Content of these tabs will be displayed on the product page of every product in the store. 6. block_product_tab1 – to display custom tab on product page, create a static block with identifier block_product_tab1. The content of that block will be displayed inside the panel of the tab and the title of that block will be displayed as the name of the tab. ↑ Go to: Table of Contents 106 You are reading: Built-in blocks and containers 7. block_product_tab2 – to display second custom tab on product page, create a static block with identifier block_product_tab2. The content of that block will be displayed inside the panel of the tab and the title of that block will be displayed as the name of the tab. There are also two other tabs on product page for product-specific info: • Details – tab which displays product description. You can add there any custom content, it can be a simple text as well as a complex HTML with images, lists etc. You can also embed videos from services such as YouTube, Vimeo etc. • More Information – tab which displays product-specific attributes. You can enable/disable attribute's visibility for product page in Magento's attribute manager. ↑ Go to: Table of Contents 107 You are reading: Pages and elements 6.3 Pages and elements 6.3.1 Drop-down cart This theme is using Magento's default sidebar cart to display drop-down cart at the top of the page. In order to show drop-down cart, option Display Shopping Cart Sidebar in Stores > Configuration > Checkout > Shopping Cart Sidebar has to be enabled. ↑ Go to: Table of Contents 108 You are reading: Grid system 6.4 Grid system In version 2.4.0 of Ultimo theme we added the grid system from Bootstrap (Bootstrap version 3.3.7). This new Bootstrap grid system will replace the old deprecated grid system which we have used in Ultimo theme since the very beginning. Note: we didn't add a complete Bootstrap library, but only our custom build of Bootstrap. Only these components were compiled: "Grid system" (grid.less) and "Responsive utilities" (responsive-utilities.less). You can still use the old grid (the code will be still available), but we recommend to use the Bootstrap grid – especially when you create custom content (e.g. on CMS pages) or when you override (or create new) template files in your custom child themes. The new grid system is more powerful so we think you will enjoy the change. 6.4.1 Bootstrap grid overview All the information about Bootstrap grid system can be found on the official website: http://getbootstrap.com/css/#grid In this chapter you can find only a quick introduction. Important: Bootstrap documentation states that rows must be placed within an element marked with the container class. You can ignore this information, don't use the container class in your custom content. Ultimo theme already uses the container class to build the base structure of the page so this class can't be used anywhere else, especially not in the custom content of CMS pages. The only exception is when you want to create a full width page. In that case you may need to wrap the content in an additional div with the container class. See for more details: 6.1.2.C Full width page Grid systems are used for creating page layouts through a series of rows and columns that house your content. Bootstrap grid system is based on twelve columns. Grid ↑ Go to: Table of Contents 109 You are reading: Grid system columns are created by specifying the number of twelve available columns you wish to span. This means that for every block you can specify how many columns it should span (from 1 to 12). The number at the end of the class name indicates the number of spanned columns. For example, class col-md-3 will create a block which is 3-columns wide. Which means: the width of the block equals 3/12 of the entire available space. Here's how the Bootstrap grid system works: • Use rows to create horizontal groups of columns. • Content should be placed within columns, and only columns may be immediate children of rows. • Predefined grid classes like row and col-xs-4 are available for quickly making grid layouts. • Columns create gutters (gaps between column content) via padding attribute. That padding is offset in rows for the first and last column via negative margin on elements with the row class. • The negative margin on rows makes the rows outdented. It's so that content within grid columns is lined up with non-grid content. • Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three col-xs-4. • If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line. • Grid classes apply to devices with screen widths greater than or equal to the breakpoint sizes, and override grid classes targeted at smaller devices. Therefore, e.g. applying any col-md-* class to an element will not only affect its styling on medium devices but also on large devices if a col-lg-* class is not present. See how aspects of the grid system work across multiple devices with a handy table. Extra small devices Small devices Phones (<768px) Tablets (≥768px) Medium devices Desktops (≥992px) Large devices Desktops (≥1200px) Grid behavior Horizontal at all times Collapsed to start, horizontal above breakpoints Class prefix col-xs- col-sm- col-md- col-lg- Column width Auto ~62px ~81px ~97px Gutter width 30px (15px on each side of a column) Look to the examples for applying these principles to your code. ↑ Go to: Table of Contents 110 You are reading: Grid system 6.4.2 Grid examples Using a single set of col-md-* grid classes, you can create a basic grid system that starts out stacked on mobile devices and tablet devices (the extra small to small range) before becoming horizontal on desktop (medium) devices. Place grid columns in any row. Two equal columns Get two equal-width columns starting at desktops and scaling to large desktops. On mobile devices, tablets and below, the columns will automatically stack.
.col-md-6
.col-md-6
Three equal columns Get three equal-width columns starting at desktops and scaling to large desktops. On mobile devices, tablets and below, the columns will automatically stack.
.col-md-4
.col-md-4
.col-md-4
Three unequal columns Get three columns starting at desktops and scaling to large desktops of various widths. Remember, grid columns should add up to twelve for a single horizontal block. More than that, and columns start stacking no matter the viewport.
.col-md-3
.col-md-6
.col-md-3
↑ Go to: Table of Contents 111 You are reading: Grid system Two unequal columns Get two columns starting at desktops and scaling to large desktops.
.col-md-8
.col-md-4
6.4.3 Additional utility classes for grid system Row without outdent Rows in Bootstrap's grid system are outdented (with negative margin at both sides of a row). Thanks to that the content within grid columns is lined up with non-grid content. But sometimes (e.g. on CMS pages) you may need a row with no outdent so that the edges (not the content inside) of the grid columns are lined up with non-grid content. You can force this behavior with the additional class row-no-outdent which will remove the outdent from the elements with the row class:
Column example
Column example
Row with bottom gutter To add a bottom gutter to all grid columns inside a row, add the row-bottom-gutter class to the row element. This is an easy way to add equal spaces between rows. The bottom gutter will have the same size as the gutter between columns. Here's an example:
Column example
Column example
Column example
Column example
Column example
↑ Go to: Table of Contents 112 You are reading: Grid system
Column example
If the bottom gutter should be narrower, use the row-bottom-gutter-half class – the bottom gutter will be half the size of the gutter between columns:
Column example
Column example
Column example
Column example
Column example
Column example
Column without gutter Columns create gutters (gaps between column content) via padding. That padding is offset in rows for the first and last column via negative margin on rows. But sometimes you may need to remove the gutter from selected grid columns. You can remove the gutter by adding the no-gutter class to the columns:
Column example
Column example
To remove only the gutter at the left side, use the no-left-gutter class. To remove only the gutter at the right side, use the no-right-gutter class. 6.4.4 Old 12-column grid system (deprecated) This grid system is used only for theme interface elements. If you want to use a grid in ↑ Go to: Table of Contents 113 You are reading: Grid system your custom content (e.g. on CMS pages), we recommend to use the Bootstrap grid system which we added to the theme in version 2.4.0 – it is described in chapter 6.4.1 Bootstrap grid overview. Below you can find description of the old deprecated grid system. Theme interface is based on 12-column grid system. This means that for every element you can specify width in grid units (from 1 unit to 12 units) using grid classes. These are available classes: grid12-1 grid12-2 grid12-3 grid12-4 grid12-5 grid12-6 grid12-7 grid12-8 grid12-9 grid12-10 grid12-11 grid12-12 The number at the end of the class name indicates number of grid units. For example, class grid12-3 will create a block which is 3-units wide. As this is a 12-column grid, each grid class spans a number of those 12 columns, and should always add up to 12 for each row. Simple grid examples 2 columns If you want to display content on your custom page in two equal columns, create two blocks (div) and add appropriate class with number of grid units. In this case use grid12-6 class to create two 6-units wide blocks. And 6 + 6 equals 12, so you will create a row of two equal columns. Then wrap the blocks inside another block with class grid-container – this class is important to clear floats of the columns (all columns float to the left side) so that the content of the grid doesn't overlap with other content below and above the grid. Here's an example:
↑ Go to: Table of Contents 114 You are reading: Grid system
Sample text...
Sample text...
When developing the grid, you can also temporarily add class show-grid to visualize the grid (like in the above example). 3 columns
Sample text...
Sample text...
Sample text...
4 columns
Sample
Sample
Sample
Sample
text...
text...
text...
text...
3 columns (not equal) Of course columns doesn't have to be equal, you can use grid units in different proportions. But the sum of all units in one row should be equal to 12, otherwise some columns may drop to another row. Here is an example of three columns which are not equal:
Sample text...
Sample text...
Sample text...
↑ Go to: Table of Contents 115 You are reading: Grid system Multiple rows To create multiple rows of columns simply add more units to the container:
Sample
Sample
Sample
Sample
Sample
text...
text...
text...
text...
text...
Space between rows To add even vertical spaces between rows, replace classgrid-container with class grid-container-spaced:
Sample text...
Sample text...
Sample text...
Sample text...
Sample text...
Grid on mobile devices If the web browser's viewport width is below 768 px, all grid columns are stretched (they are as wide as the container) and stack vertically. If you want to avoid this and want your columns to stay narrow on narrow screens, you can add special class mobile-grid to grid classes. It can be added to the following grid classes: grid12-1, grid12-2, grid12-3. On narrow screens columns could be too narrow to display content properly, so thanks to the mobile-grid class, each column will be 2 times wider than the actual number of units in the class name, i.e. grid12-3 will behave like grid12-6. When the viewport width goes below 480 px, all grid columns with the mobile-grid class will also be stretched and stacked vertically, just like all the other columns. ↑ Go to: Table of Contents 116 You are reading: Grid system The following example will create 4 equal columns:
Sample
Sample
Sample
Sample
text...
text...
text...
text...
which will look like this: When the viewport is below 768 px, the 4 columns will be automatically transformed to 2 rows of 2 columns: ↑ Go to: Table of Contents 117 You are reading: CMS components 6.5 CMS components In this chapter you can find description of selected components which can be used to build custom content for CMS pages and static blocks. 6.5.1 CSS utility classes This chapter presents available utility classes (also called helper classes). Utility classes are simple CSS classes which can be used to modify HTML content of any page or static block. You can use utility classes as an alternative for inline CSS styles. 6.5.1.A General utility classes Here you can find list of single responsibility classes – each class is responsible for doing one job. For example, to add a bottom margin below selected text, add the margin-bottom utility class to the paragraph element:

This is a sample text.

Second line of text. If the text is not placed inside any element, wrap the text inside a
element and add the class to that
:
This is a sample text.
Second line of text. You can use many classes on a single element. For example, to make the text aligned to the center, add the text-center class:
↑ Go to: Table of Contents 118 You are reading: CMS components This is a sample text.
Second line of text. All available classes are presented below. Floating – float element to the left. This class is an equivalent of the CSS property float: left. It specifies that an element should be placed along the left side of its container, where text and inline elements will wrap around it. This way, the element is taken from the normal flow of the web page, though still remaning a part of the flow. • pull-left • pull-right • clearfix – float element to the right. This class is an equivalent of the CSS property float: right. – clear floats. Add this class to the container (the parent element) of the floating elements. Margin – add margin to the top. • margin-top • margin-bottom • no-margin – add margin to the bottom. – remove all margin. Padding – add padding to the top. • padding-top • padding-bottom • no-padding – add padding to the bottom. – remove all padding. Text – align text to the left. • text-left • text-right • text-center – align text to the right. – align text to the center. ↑ Go to: Table of Contents 119 You are reading: CMS components Design • no-bg – remove background image from the element. 6.5.1.B Hide/show content depending on screen size In version 2.4.0 of Ultimo theme we added new utility classes for showing and hiding content depending on the width of the screen. These classes come from the Bootstrap library (Bootstrap version 3.3.7). They will replace the old deprecated classes which we have used in Ultimo theme since the very beginning. You can still use the old classes, but we highly recommend to use the new classes when you create custom content, e.g. on CMS pages. The new classes offer much more flexibility. All the information about new utility classes from Bootstrap can be found on the official website: http://getbootstrap.com/css/#responsive-utilities In this chapter you can find only a quick introduction. Available classes Try to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. Use a single or combination of the available classes for toggling content across viewport breakpoints. Extra small devices Small devices Tablets Medium devices Phones (<768px) (≥768px) Desktops (≥992px) Large devices Desktops (≥1200px) .visible-xs-* Visible Hidden Hidden Hidden .visible-sm-* Hidden Visible Hidden Hidden .visible-md-* Hidden Hidden Visible Hidden .visible-lg-* Hidden Hidden Hidden Visible ↑ Go to: Table of Contents 120 You are reading: CMS components .hidden-xs Hidden Visible Visible Visible .hidden-sm Visible Hidden Visible Visible .hidden-md Visible Visible Hidden Visible .hidden-lg Visible Visible Visible Hidden The .visible-*-* classes for each breakpoint come in three variations, one for each CSS display property value listed below. Group of classes CSS display .visible-*-block display: block; .visible-*-inline display: inline; .visible-*-inline-block display: inline-block; So, for extra small (xs) screens for example, the available .visible-*-* classes are: .visible-xs-block, .visible-xs-inline, and .visible-xs-inline-block. Example 1 To hide an element, we can add a class to that element. For example, with the .hidden-xs class, this element will be hidden on extra small devices – when viewport width is below 768 pixels: Example 2 This element will be hidden on small devices – when viewport width is equal or larger than 768 pixels but below 992 pixels: Example 3 In this example we combine two classes: .hidden-xs and .hidden-sm. This element will be hidden on small and extra small devices – when viewport width is below 992 pixels: ↑ Go to: Table of Contents 121 You are reading: CMS components 6.5.1.C Old classes to hide elements (deprecated) These are old deprecated classes. If you want to hide elements below specific screen resolution in your custom content (e.g. on CMS pages), we recommend to use the new utility classes which we added to the theme in version 2.4.0 – the classes are described in previous chapter: 6.5.1.B Hide/show content depending on screen size. Below you can find description of the old deprecated classes. These classes can hide elements below specific screen resolution. Number at the end of the class name indicates the resolution: hide-below-1680 hide-below-1440 hide-below-1360 hide-below-1280 hide-below-960 hide-below-768 hide-below-480 hide-below-320 For example, add class hide-below-1280 to the HTML element which needs to be hidden if the screen is less than 1280 pixels wide.
This is just a sample text
↑ Go to: Table of Contents 122 You are reading: CMS components 6.5.2 Collapsible blocks With collapsible block, your content can be shown and hidden on button click. You can build components similar to accordions. Blocks like this are used in the footer static blocks in the demo:
My block title
Sample content
If you remove the active class, the block will be collapsed on page load. If you want the block to be collapsed only on mobile devices (when viewport width is below 768 pixels), use the mobile-collapsible class instead of the collapsible class in the main wrapper:
My block title
Sample content
↑ Go to: Table of Contents 123 You are reading: CMS components 6.5.3 Icons Icons are a simple and effective way to draw users into the content of your website. They can help you structure content and separate different sections of the page. The primary goal of using icons should be to help the user find information on the page. In this chapter you can find description and examples of all kinds of icons. You can also import a sample CMS page which contains dozens of ready-to-use code examples. Refer to chapter 7.11 Data Import for more details about the import procedure. Identifier of the page with examples of icons is: magento-icons. 6.5.3.A Basic icons You can place icons just about anywhere using simple markup. We are going to use an inline HTML element such as and add appropriate classes to it. These are required classes: ic and the icon's name prefixed with ic-, for example ic-star. Here's the full example of the code which will add star icon: If you change the font-size of the icon's container, the icon gets bigger. Same things goes for color, drop shadow, and anything else that gets inherited using CSS. Note: list of names of all available icons can be found in Resources/Icons_Demo/demo.html inside the theme package. ↑ Go to: Table of Contents 124 You are reading: CMS components 6.5.3.A.1 Add CSS styles to icons Now you can start having more fun with icons. By default all icons have the same color as text, but if you want to change the color of selected icon, you can do it with inline styles. Add style attribute to the icon element and specify the color. For example, this will make the icon red: You can add inline styles to icons the same way as to any other HTML elements in a HTML document. The style attribute can contain any CSS property, such as font-size, text-shadow etc. List of available CSS properties can be found on https://developer.mozilla.org/en-US/docs/Web/CSS/Reference 6.5.3.A.2 Size If you change the font-size of the icon's container, the icon gets bigger. To increase icon size relative to the font-size of the icon's container, use the following classes: ic-lg (increases the size of the icon by 33%), ic-2x, ic-3x, ic-4x, ic-5x, ic-6x, ic-7x, ic-8x. To have more control over the size of the icon, you can also change the font size of the icon element by adding inline styles: ↑ Go to: Table of Contents 125 You are reading: CMS components 6.5.3.A.3 List icons Use ic-ul and ic-li to build unordered lists with icons displayed as bullets.
  • Some text example
  • ic-tag ic-li">Some text example ic-arrow-right ic-li">Some text example ic-letter ic-li">Some text example ic-bell ic-li">Some text example 6.5.3.A.4 Pulled icons and borders Use ic-border and ic-pull-left or ic-pull-right for easy pull article icons. Some sample text. Lid est laborum et dolorum fuga. Et harum quidem rerum facilis est et expeditasi distinctio. 6.5.3.A.5 Spinning icons Use the ic-spin class to get any icon to rotate. 6.5.3.A.6 Rotated and flipped To rotate and flip icons, use the ic-rotate-* and ic-flip-* classes. normal
    ↑ Go to: Table of Contents 126 You are reading: CMS components ic-rotate-90
    ic-rotate-180"> ic-rotate-180
    ic-rotate-270"> ic-rotate-270
    ic-flip-horizontal"> ic-flip-horizontal
    ic-flip-vertical"> ic-flip-vertical 6.5.3.A.7 Icons inside buttons Font icons work great inside buttons and other elements.   My Account 6.5.3.B Iconbox (icon with background color) To display an icon inside a box with background color (we call it an iconbox), add the ib class to the icon element: Background color will be automatically added to the icon element. Make sure to leave the tag empty – otherwise the contents of the tag will be displayed together with the icon inside the iconbox and any additional space can dislocate the icon. Note: The default colors of the iconbox can be configured in the admin panel: Stores > Configuration > Theme Design > Colors > Iconbox ↑ Go to: Table of Contents 127 You are reading: CMS components 6.5.3.B.1 Change color on mouse hover To change the color on mouse hover over the iconbox, add the ib-hover class to the iconbox. 6.5.3.B.2 Size To increase iconbox size, use the following classes: ib-size-l, ib-size-xl, ib-size-xxl, ib-size-xxxl. For example: The size of the icon is independent of the iconbox and can be increased with classes which were described earlier in this chapter. For example, add class ic-2x to make the icon a little bit bigger: 6.5.3.B.3 Shape To change the shape of the iconbox, use one of the following classes: ib-circle, ib-rounded, ib-square. For example: ↑ Go to: Table of Contents 128 You are reading: CMS components By default the iconbox is circular. If you prefer square icons, you can wrap multiple icons with an element (it can be
    ) with class ib-wrapper-square:
    6.5.3.B.4 Iconbox effects To add eye-catching hover effects to the iconbox, use one of the following combinations of classes: • ib-ef-1 ib-ef-1a • ib-ef-1 ib-ef-1b • ib-ef-2 ib-ef-2a • ib-ef-2 ib-ef-2b • ib-ef-3 ib-ef-3a • ib-ef-3 ib-ef-3b Note that in each case the combination consists of two classes. For example: 6.5.3.B.5 Image file iconbox You can also use image files to create iconboxes with custom icons. With the following markup: tag with classes ic ic-img ib and tag inside the tag, you can quickly create custom icon: ↑ Go to: Table of Contents 129 You are reading: CMS components My icon To get the URL of the image, you need to use Magento's CMS tag media. Magento will replace the tag with the URL of the image, for example: {{media url="wysiwyg/path/to/image.png"}} . The path is relative to Magento's media directory, so you need to store your images inside that directory. Recommended size of an image: 30 x 30 pixels. An image can be larger but it will be scaled down to fit the size of the iconbox. So it is better to use images of correct size to keep good quality. 6.5.3.C Social icons To add icons of social networking services you need to use exactly the same markup as for other icons described earlier in this chapter. Name of the service needs to be prefixed with ic-, for example ic-twitter. Here's the full example of the code which will add a Twitter icon: Note: list of names of all available icons can be found in Resources/Icons_Demo/demo.html inside the theme package. Icons can be wrapped inside links. This is very useful when you want to create links to your profiles on social networking services. Here's an example: ↑ Go to: Table of Contents 130 You are reading: CMS components You can also add iconbox classes (ib and ib-hover, refer to 6.5.3.B Iconbox (icon with background color) for more details) to create an icon with background color, for example: If you additionally wrap the icon inside a container with the social-links class, you will be able to configure colors through the admin panel. The default colors for social icons can be configured under: Stores > Configuration > Theme Design > Colors > Iconbox (Social Icons) In the example below, replace # with URLs of your profiles on social networking services:

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Page Count                      : 280
Language                        : en-US
Creator                         : Writer
Producer                        : OpenOffice.org 3.4.1
Create Date                     : 2017:09:03 20:53:34+02:00
EXIF Metadata provided by EXIF.tools

Navigation menu