Themes: mor·pho·gen·e·sis, a theme template for theme designers

Posted by: snow77On 2006/9/17 8:30:10 14820 reads
What is mor·pho·gen·e·sis (for xoops)?

Resized Image
As the name symbolizes it, it is meant to be the body structural part of a default xoops theme template serving as a canvas starting point for theme designers to develop their designs under specific XOOPS standards and W3C compliance.

It is completely based on the default theme of XOOPS 2.3, which is based on Zeta Reticuli by Leo. The process I did was to take the graphical part out and leave just the wire frame keeping the architecture done by Leo.

Leaving the way open for theme designers to start the metamorphosis

------- read more -------

Why is it important?

First because it is done looking forward to keep themes compatible with the new coming XOOPS versions and it fully supports the use of XOOPS most recent features which are (taken from the release notes of XOOPS 2.0.14,http://devteam.xoops.org/releases/xoops-2.0.14.html ):

Quote:

New blocks positions

Support for the new blocks positions must be added to themes: if you place blocks in the bottom and do not see them, this may be because your theme is too old. Most of the times, such support can be added easily by copying the theme.html portion that inserts the center top blocks just after the <{$xoops_contents}> division, and changing the variables so the duplicated code inserts the bottom blocks (see the default theme for an example).


Other things IMPORTANT to take notice of, starting from XOOPS version 2.0.14, which will let theme designers make the most out of their design (module developers should also have the new classification in mind):

Quote:

Templates overriding

Designers can add custom templates to their themes, and those will be used instead of the default ones. To exploit this feature, templates have to be created in subfolders of the themes duplicating the default folders structure and removing the "templates" part:

* To overload system_userinfo.html template located in modules/system/templates/system_userinfo.html you have to create your custom version in <yourthemefolder>/modules/system/system_userinfo.html
* To overload system_block_login.html template located in modules/system/templates/blocks/system_block_login.html you have to create your custom version in <yourthemefolder>/modules/system/blocks/system_block_login.html

Output resources overriding for developers

To allow theme designers to customize images or stylesheets, you have to use the new theme class and xoImgUrl templates plug-in.

* Scripts and stylesheets can be declared to XOOPS using the theme class addScript and addStylesheet methods. The theme instance is available after the inclusion of header.php by using the $xoTheme global variable, and in a template variable of the same name:
<{$xoTheme->addStylesheet('modules/newbb/style.css')}>
* Images and medias URLs have to be generated by using the xoImgUrl plug-in in your templates:
<img src="<{xoImgUrl modules/newbb/images/reply.png}>" alt="reply" />

Output resources overriding for designers

Designers can also provide custom versions of most output-related resources using a mechanism similar to the one available to templates, for modules that support this.

* To create a custom stylesheet that will replace modules/newbb/style.css, create your customized file in <yourthemefolder>/modules/newbb/style.css
* To create a custom image that will replace modules/newbb/images/reply.png, create your customized file in <yourthemefolder>/modules/newbb/images/reply.png


Also there is an additional display option of the columns using the lcr/lrc/clr feature which can be configured in the head section of the theme.html using the combination of your choice. This will permit you to have the blocks display in 3 columns and not the traditional 2 columns.

Second, because the objective is to keep the themes under W3C standards as most possible.

Third, to create a quality standard in XOOPS themes, providing theme designers the necessary tools to start off a theme according to the direction XOOPS is taking. We always must look forward to be better.

The change may seem much compared to the old default theme, but looking closely at it, it is more logical than complicated with a very notable perfectioning of the code of the work done by Leo. For example, those of us who have been here several yrs and had the opportunity to experience using themes for XOOPS version 1.3 (not a very nice experience I must say), it was really great when XOOPS 2 themes came out. Starting from now a new XOOPS theme version should be created and that is what I am looking after in the establishment of mor·pho·gen·e·sis

Status of mor·pho·gen·e·sis: Alpha

[TODO]: - Consider taking away the table it has - Test - Do any fixes needed

This is a project for all of us, to undergo a process where changes are constant. You are all welcome and encouraged to make part of it.

View demo here

Thank you.
Snowinmyhands
www.xoopsdesign.com