Multiflex-3

So what exactly is Multiflex-3?

Multiflex-3 is a theme for Drupal developed by Edison Wong, which was originally designed by Gerhard. I have hunt this theme for years ago, and finally started the development due to a client's request. It is referencing to latest Multiflex-3.12 release.

Besides original design, this re-implementation provides some advanced features based on the needs of Drupal, and also complete the mission part for a theme for CMS. Basically it just reuses the screen layout from original design, both page body and CSS are completely rewrited for a better coding style. That's why I call it as a "re-implementation" but not a "direct port".

Why start a new fork?

You may find that there is an existing Drupal project called Multiflex37, so why don't I contribute my progress for that but create a new fork? The reason is simple, I have no way to contribute. There is no way for me to contact the original developer Chris Doyle, whatever by email or drupal.org contact form. On the other hand, even I showed my interesting about the join development, there was no reply after a month, too.

On the other hand, as I start this project from sketch without refering to existing one, they are completely different and not related to each other. Even contributing to the existing project will result in a reuse of project name only, and this id not too meaningful.

What are the advanced features?

Well, nothing at all: most of them are related to screen layout. This implementation is a tableless, multi-column, fluid width layout. Both LTR and RTL are supported since Drupal 6.x release. Some eyes catching icons are added for fancy look-and-feel, and so logo, too. Users can even customize their layout with a file called custom.css, which will not be affected during version upgrade, e.g. restrict layout from fluid width as fixed width. There is also a fancy hack to mission statement so users can apply PHP code snippet for advanced feature.

Most of this features are cloned from Garland (the official theme of Drupal), Contented7, Internet Services and Interactive Media.

I like the cascade primary links, where is it?

The cascade primary links are the most important eyes-catching features of Multiflex-3, which the original implementation even provides individual live demo for it. It is a purely CSS implementation, without any JavaScript required.

This Drupal re-implementation also clone such work, plus a lot of improvement. E.g. It now suppor maximum 4 layer of menu items, highly integrated with Drupal menu system, purely CSS based on a lot of code clean up and fine tune. Besides original Multiflex-3 implementation, this work is also refered to Son of Suckerfish Dropdowns, but skiped all JavaScript related stuffs. On the other hand, it is completely independent with original Drupal theme's primary/secondary links handling: if you define the primary/secondary links with same source, they will still function as other typical Drupal themes. It is fully tested with IE7, Firefox2/3, Opera9.2/9.5 and Safari3.

Anyway, this implementation also come up with some limitations: it doesn't support IE6 as IE6 requires a special hack with <table>, and also some extra CSS overrides for function correctly, therefore I just skip it. On the other hand, as mentioned above, it only support maximum 4 layer of menu items, which means the rest will look buggy.

How about browser support status?

I'm glad you asked!

Multiflex-3 is fully tested with most Acid2 compatible browsers, such as Firefox3 (RC1 at this moment), Opera9.2 and Safari3. Internet Explorer 6/7 may look fine, but I have no guarantee with it (BTW, I give test with both browser, too...). LTR (Left to Right) layout should also functioning for Firefox2. Long story short, in case of LTR: FF3/Opera9.2/Safari3 > FF2/IE7 >> IE6.

On the other hand, the case of RTL (Right to Left) is a bit complicated. Since most of the browsers can't handle RTL correctly, unless they strictly follow Acid2 standard, I can only guarantee as function for these 3 browsers: Firefox3, Opera9.2 and Safari3. Besides these 3, the layout is often broken, due to incorrectly render of valid CSS. Therefore in case of RTL: FF3/Opera9.2/Safari3 >> FF2/IE7 >> IE6.

Finally, most people are asking for a complete Internet Explorer 6 support as well... IE6 is always buggy and needed special handling. It even gives a wrong rendering result for margin and padding, buggy with PNG, crazy RTL support, and so on. I am not going to support IE6 officially. My IE6 on hand is even a multiple install version (i.e. can run besides IE7, which means it is not a totally clean IE6 as they share part of the libraries...). If it looks fine in IE6, let's thank god; or else, please contribute your solution and I will try my best to include them.

Just give me the lowdown

  • 100% open source.
  • Validate with XHTML 1.0 and CSS2
  • Fully tested with Acid2 compatible browsers, e.g. Firefox3, Opera9.2 and Safari3.
  • Most likely function with legacy browsers, e.g. Firefox2, IE6/7.
  • Fluid width layout with minimum width depend on number of columns.
  • Support multiple columns.
  • Support cascade primary links (maximum 4 layer).
  • Support both LTR and RTL layout.
  • Support custom CSS file, so-called custom.css.
  • Support PHP code snippet in mission statement.
  • Fancy icons for meta data from Fam fam fam.

Any online references?

Hmm... they may change so update me if possible:

That's quite a mouthful, what else?

If you want more you can try some of the following stuff:

And that's about it.