Multiflex-3

So what exactly is Multiflex-3?

Multiflex-3Multiflex-3Multiflex-3 is a theme for Drupal developed by Edison Wong, where original designed by Gerhard. I hunt this theme for years ago, and finally start the development due to a client request. It is referencing to latest Multiflex-3.12 release.

Besides original design, this re-implementation provide some advanced feature based on the needs of Drupal, and also complete the mission part for a theme for CMS. Basically it just reuse the screen layout from original design, both page body and CSS are completely rewrite 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 as 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 show my interesting about the join development, there is no reply after a month, too.

On the other hand, as I start this project from sketch without any reference to existing one, they are completely different and without any relationship. Even contribute to the existing project will only result as a reuse of project name only, so that may not be 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. User can even customize their layout with a file called as 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 user 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.

The cascade primary links is the most important eyes-catching feature of Multiflex-3, where original implementation even provide 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 is now support maximum 4 layer of menu items, highly integrated with Drupal menu system, purely CSS based with a lot of code clean up and fine tune. Beside original Multiflex-3 implementation, this work also reference to Son of Suckerfish Dropdowns, but skip all JavaScript related stuff. 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 with some limitation: it don't support IE6. It is because IE6 require a special hack with <table>, and also some extra CSS override 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 looks 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 looks 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 are strictly follow Acid2 standard, I can only guarantee as function for this 3 browsers: Firefox3, Opera9.2 and Safari3. Beside this 3 the layout is often break, due to incorrectly render of valid CSS. Therefore in case of RTL: FF3/Opera9.2/Safari3 >> FF2/IE7 >> IE6.

Finally, most people asking of a complete Internet Explorer 6 support as well... IE6 is always buggy and need special handling. It even give 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 thanks 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.