Book Image

Mastering TypoScript: TYPO3 Website, Template, and Extension Development

Book Image

Mastering TypoScript: TYPO3 Website, Template, and Extension Development

Overview of this book

Free, open-source, flexible, and scalable, TYPO3 is one of the most powerful PHP content management systems. It is well suited for creating intranets and extranets for the enterprise. While providing an easy-to-use web interface for non-technical authors and editors of content, its messaging and workflow system enable shared authoring and collaboration. TYPO3 provides flexible and powerful interfaces for both content editors and administrators, giving them full control of the core aspects the system. However for developers who need to customize the system, TYPO3 offers a powerful configuration language called TypoScript. Good knowledge of TypoScript is really a prerequisite for implementing complex applications with TYPO3 and gives developers full control over the configuration of TYPO3 and its template engine. TypoScript enables the complete output template to be created and manipulated, giving you full control over the layout of the site. TypoScript also allows you to integrate dynamic contents, JavaScript-based menus, Flash, Graphics, etc. with ease. You have maximum control over the design of the website and can control all options that would otherwise be addressed by HTML-simple text output, formatting, and much more. TypoScript also allows you to generate graphics at run time and display different content dynamically.
Table of Contents (19 chapters)
Mastering TypoScript: TYPO3 Website, Template, and Extension Development
Credits
About the Author
Preface

JavaScript Menus


You can generate JavaScript-controlled menus with the JSMENU object. These very easily generate various list boxes with various contents.

In this example, the main categories are shown in the left drop-down list box. If you pick one of them, the corresponding sub-pages appear in the left drop-down box. The code responsible for this is as follows:

page.10.marks.MENU = HMENU
page.10.marks.MENU.entryLevel = <0
page.10.marks.MENU.1 = JSMENU
page.10.marks.MENU.1 {
levels = 2
1{
wrap = |&nbsp;
showActive = 1
firstLabel = Please select
}
2 > .1
2.firstLabel = Sub-menu
}
}

You can now select the entry level for the menu using the already familiar entryLevel property. Now to the actual JSMENU; with levels, you can define the number of levels to be displayed. The value that is defined here determines the number of drop-down lists the menu will consist of. A JSMENU can have a maximum of five levels.

Next you define the individual menu levels. And showActive determines...