Cast Iron Coding, LLC

Novel Design

Integrating a design and information structure that was not specifically designed for TYPO3 by TYPO3 users can always bring interesting challenges to a project, calling for plenty of brainstorming on how to make the CMS behave in novel ways.

What follows in the next few pages is a list of challenges and solutions in this project to demonstrate TYPO3's flexibility and Cast Iron Coding's innovative approach to problem-solving.

Pagination in TYPO3

Challenge

Pagination--dividing a page's content into multiple pages and allowing the user to navigate forward and backward through them--is something TYPO3 doesn't have natively. This functionality would have to be simulated. An added wrinkle was that the print layout, a separate, less graphic HTML template specifically made for printing, needed to compile the content on these paginated pages together.

Solution

To simulate pagination, Cast Iron Coding took advantage of a customized "browse menu," which is a navigation that, among other things, allows navigation between sibling pages. This back and forth navigation is part and parcel of what pagination is. A shortcut page completes the illusion of true pagination by linking from the parent page of the paginated sibling pages to the first in the series of pages.

A custom extension was required to compile the content from these pages together for printing. The extension checks to see if the page is paginated based on the parent page and active page type, and proceeds accordingly.

Unique Breadcrumb Menu

Challenge

A probably less noticable feature is the breadcrumb menu on internal pages. The requirements were that no matter how many pages are listed in the breadcrumb, the text would not wrap, or exceed the width of the center column. On a site with several templates (and thus several maximum width requirements), the setup of a breadcrumb on new pages would be complicated by the need to set a configuration value for each page, unless a workaround was found.

Solution

Modifying the output of a menu is a core menu functionality in TYPO3. A user script that took one argument (the maximum number of characters permitted on the page) was written. The script functioned by evaluating the length of the breadcrumb and changing specific page titles to elipses when that value exceeded the maximum number of characters.

State-of-the-Art Navigation

Challenge

The nice-looking main and left-column navigation--the former with its transparent background and the later with its multi-level, state-based rollovers--looked so original and different from what many TYPO3 designers create that it seemed unlikely that the menu libraries would be able to handle such a different look. Even TYPO3 experts are surprised sometimes by its flexibility however.

Solution

TYPO3's menu libraries came through, and the menus were configured entirely with TypoScript, the configuration language of TYPO3. Custom menu states were indentified by a user script to properly render the left navigation. The main navigation images are created on-the-fly by TYPO3's image generation libraries and a true-type font file.