The TemplaVoila Framework is now implemented as an extension (extension key: templavoila_framework). This description of some of the core code is mostly for those who are curious. You should be doing all of your adjustments for individual sites in the skins and TypoScript templates not directly in the extension. If you have suggestions on how the extension can be better, please e-mail us at templavoilabusynoggincom.
The framework extension includes code for the TypoScript page object. The items pre-written in this object are pretty minimal, but in case you find reason to need to reset or override lines in the object, here is the code in that object. Use the setup field in the TypoScript template on the root page of the site to write any code to affect this object.
The framework extension includes the data structures and html templates for its page templates and utility FCEs. Template objects are imported as part of the install process.
The extension does not interfere with the normal operation of TemplaVoila; therefore, you can still create custom page templates and FCE's when needed. However, you will find that doing custom page templates is hardly ever needed because of the flexibility of those within the framework.
The framework uses jQuery for the JavaScript needed to make the modules within a group equal in height. The extension includes the jQuery library by default and sets it to noConflict. Developers may, at times, wish to include the jQuery library in a different manner or eliminate it altogether. In such cases they can this constant to zero:
enableJQuery = 0
Setting this constant to zero will mean the extension:
If you choose to set this constant to zero and want to either use jQuery or have equal height modules, you will need to take care of those items in another manner.
As just mentioned, by default the extension runs jQuery in noConflict mode. This allows a developer to use additional JavaScript libraries or TYPO3 extensions using those libraries without conflict, but it also means that he cannot use the jQuery factory function when writing his jQuery code.
This means writing jQuery code like this:
jQuery('.myClass').hide();
NOT this:
$('.myClass').hide();
It is possible to unset this noConflict behavior as well as the inclusion of the jQuery library with the enableJQuery constant described above.
Currently English and German are available to the back-end user. If you would like to provide a translation for an additional language, please contact us at templavloila.busynoggin.com.
You will not need to edit any of the TypoScript in the extension; however, here is a brief description of the TypoScript objects in the extension's core TypoScript. They are located in this file inside the extension:
This object is included in the data structure of each page template and does the following:
This provides the page with the values of the constants set in the skin for container widths.
This is a pretty extensive object that is included in the data structures for the module groups. It has to handle a lot of information for the each of the modules including:
Of all the TypoScript objects in the framework, this one will come closest to making your head spin. You do not have to worry about how it works just enjoy what it does.
Similar to the moduleGroupSetup but for use by the column groups.
Just used to ensure that the preCodeFeature and postCodeFeature objects are inserted only when the feature content is present.