Gavern WordPress Theme Framework – Introduction
While creating Gavern Framework, we have used our experiences from creating templates based on T3 Framework and from common problems which faced our customers. Gavern Framework is the combination of our templates best solutions, the same as, our ideas which solve a lot of problems occurred. Our main aim was to move possibly a large number of parameters to administrative panel which normally were changed in template code directly. Thanks to this, users, who are not good at programming, can easily change many things in administrative panel from template option level.
Gavern 3.x Framework is a basis for creating our templates for Joomla! 2.5 and Joomla! 3.x. We decided to create our own solution because none of frameworks available have not fulfilled our needs. Moreover, our own solution allows us to implement many additional and interesting solutions very easily. Before buying you can check out all framework features (Joomla! 3.x only) using free template called “Meet Gavern“.
In order to be acquainted with Gavern Framework, we prepared series of articles describing its functionalities:
- Gavern 3.x – Basic Settings
- Gavern 3.x – Layouts
- Gavern 3.x – Fonts
- Gavern 3.x – Features
- Gavern 3.x – Menu
- Gavern 3.x – Social API
- Gavern 3.x – Cookie Law
- Gavern 3.x – Advanced Settings
Key news included in Gavern 3.x Framework:
- Reconstructed template option look
- Support for Responsive Web Design (RWD)
- Plugins directly connected with template options
- Possibility of template options translation with an ease with language files use
- Scaling a column chosen in groups of modules, e.g. user 1-6
- Defining selectors for fonts from template option level
- Separate template for Facebook
- Improved view for printing
- Possibility of logotypes and favicon selection with Media Manager use
- Embedding Google Analytics code from template option level
- Specifying subpages suffixes for particular pages/components
- Specifying chrome styles for particular module positions
- Typography divided into sections which can be turned off separately
- Font Awesome*
- Reconstructed menu scripts
- Support for Selecti[vizr]
- Option for reset CSS styles selection
- Social API
- Improved CSS code structure
- New Layout Manager (Bootstrap grid system)*
- Cookie Law
Those users who have worked with our “old” templates should not have any problems with working with new framework.
Layout of main part of the page suggested in our existing templates which uses 7 columns, has been successful and it still can be useful in the field of creating some interesting layouts, therefore we decided to leave it. One of new and most important options is a possibility of specification main body and component position layout, separately homepage and other subpages of a website. Detailed description these options and some suggestions for page layout will be found in some future entry.
It’s surprising that social network services issue has been neglected in Joomla! society. Most services cannot live without “like it” button because it is a great opportunity of article promotion among user’s acquaintances. These upgrades plugins installation was quite tormenting and not always worked. That’s why we decided to include support for Facebook and for some other social network services.
Much attention was paid to support for Facebook; except ‘like it” buttons and Facepile block, we decided to add an authorization option known as “Log in with Facebook” to Gavern Framework. It is an incredible option because a user does not need to remember his/her access data to a page given; if his/her account on a page given uses the same e-mail address as on Facebook account, it is possible by double click to log in on a page given. What is interesting, those who do not have an account at our site, can create an account in the same way without filling in a form – data needed will be loaded from Facebook.
Additionally, it is possible for users to specify their own templates which is used when users are publishing links to our site on Facebook. Thanks to this, we can, e.g. limit a page from redundant modules which makes possible for the user to choose, while adding an entry, images strictly connected with article he/she is interested in.
In the case of other services, we used API which make possible to add specific buttons to pages with articles. It allows to create some kind of social toolbar without using external plugins.
Increasing popularity of mobile Internet leaded us to decision to improve mobile versions of our templates. On the one hand, we decided to improve the process of creating mobile versions of our templates – in existing templates a layout was very similar therefore we created one common framework in mobile version which, thanks to one CSS file fragment modification, can be adjusted to different templates’ styles. On the other hand, we decided to improve many things, e.g. take care of functionality and menu look, individual subpages and functionalities of additional ones. An important change is also support for Android so from now on, mobile pages will be created and based on three templates: iPhone, Android and other mobile devices.
Apart from that, there can be some options to modify mobile pages look in template options and also mobile version of a page will be much “lighter”; instead of frameworks like MooTools or jQuery (which takes 40-60kB), we decided to use Zepto.js framework which takes a few kB and after gzip compression it should take even less. So our new mobile versions of templates will be extremely useful for those who have to use mobile Internet of low bandwidth.
Plugins connected with template options
It happened many times that we would like to add some improvements to a template but it was impossible because it was required to write whole plugin for Joomla! Therefore, we decided to include in Gavern Framework some kind of own plugin system. It’s easy, the majority of plugins just change some code fragment in template/page’s content for different code. That’s why we created GKParser class which allows to create easy plugins changing a code specified (e.g. in article content to a different one). In this way, Social API service was created.
It’s worth mentioning, that this solution has many advantages and potential, mainly because that this plugin can be controlled from template option level. That’s why, there is another possibility of controlling some parameters which are overwritten by modules/components templates. Shortly, some examples will be published.
Because our templates will require a few plugins and modules to make them work, we decided to create an installer which will allow to install a template, plugins and modules required at once. Thanks to this, no one will forget e.g. about typography plugin or for menu. Additionally, it will be very easy to uninstall it in the same way.
Changes in printable version
Printable version of site is very important matter as we often want a printed article to be looked good. Thus, we added a logo choice option on a site to print and a look of page printed will be adjusted to a particular template’s style (of course it depends on our printer’s possibilities).
Google Analytics with one click
The subject of embedding a code from Google Analytics was a very important matter for our users therefore we decided to integrate embedding this code with Gavern Framework. A user can embed more than one tracking code, which happens very often where an advertiser would like to have information about traffic on a page. In this way, there is one plugin less to install or manual code modifications.
There are also some changes in typography, mainly more styles for headings, support for tables, tooltips in CSS and nice effects with the latest CSS3 standards. Apart from that, there would be more icons assigned to the text. Icons sets themselves were designed so as it is possible to turn them off freely and, as a result, reduce data transfer. If there is a need, it is possible to turn off whole typography – it’s redundant to load files which are not used on a page given.
More flexible fonts
We resigned from Cufon script in favor of more dynamic and developing fonts in Google Fonts and Font Squirrel. Moreover, to simplify management of fonts completely, selectors connected with a font given are specified in template’s options instead of specifying it in its code. Adding next font group is also very easy, as it requires copying of two elements in template’s XML file.
Less changes in template’s code
It often happens that we need to change style of one module position – from now on, we do not need to do it manually. It would be enough to set appropriate value (e.g. “xtml” style) for a position specified and this style will overwrite default style assigned to a position given.
As you can see, Gavern Framework is an opening Joomla! to social network services and users who do not like modifying PHP code or installing many additional plugins. Plugins created in a template itself gives great possibilities for templates authors based on our framework.
This article was first published