Szczegóły ebooka

Mastering TypoScript: TYPO3 Website, Template, and Extension Development

Mastering TypoScript: TYPO3 Website, Template, and Extension Development

Adrian Zimmerman, Daniel Koch, Carl Hanser Verlag GmbH & Co. KG

Ebook
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.
  • Mastering TypoScript: TYPO3 Website, Template, and Extension Development
    • Table of Contents
    • Mastering TypoScript: TYPO3 Website, Template, and Extension Development
    • Credits
    • About the Author
    • Preface
      • What This Book Covers
      • Who This is Book For
      • Conventions
      • Reader Feedback
      • Customer Support
        • Downloading the Example Code for the Book
        • Errata
        • Questions
    • 1. Introduction to TypoScript
      • Prerequisites
        • Dummy Package
        • Setting up an Example Page Structure
      • Declarative Programming with TypoScript
      • The Power of TypoScript
      • What is TypoScript?
      • Back-end Configuration with TypoScript
      • TypoScript and PHP
      • TypoScript Templates
      • Summary
    • 2. Getting to Know TypoScript
      • Hello World!
        • Creating a Template
        • Syntax
      • Objects and Properties
        • Copying Objects and Properties
        • Referencing Objects
        • Classic Sources of Errors
        • The Classification of Objects
        • Constants
      • Operators
        • Value Assignment
        • Value Assignment over Several Lines
        • The Copy and Delete Operators
        • Referencing
        • Conditions
        • Faster Writing Through {}
      • Datatypes
        • Simple Datatypes
        • Objects as Datatypes
        • Functions as Datatypes
        • The Wrap Principle
        • Comments
        • Conditions
        • The ELSE Condition
        • Extended Options
        • Defining Your Own Conditions
        • Functions
      • Working with TSref
        • Datatypes
        • Objects and Properties
        • Conditions
        • Functions
        • Constants
        • Setup
        • cObjects
        • GIFBuilder
        • MENU Objects
        • Media/Scripts Plug-Ins
        • Standard Templates
        • PHP Include Scripts
        • Casestory
        • Index.php
        • Tips
      • Summary
    • 3. Tools and Editors
      • Choosing an Editor
        • Syntax Highlighting in UltraEdit
      • The Info/Modify Tool
        • Elements
          • Title
          • Sitetitle
          • Description
          • Resources
          • Constants
          • Setup
          • Editing the Whole Template
      • The Object Browser
      • The Template Analyzer
      • The TypoScript Properties Display
      • The Admin Panel
        • Categories
          • Preview
          • Cache
          • Publish
          • Editing
          • TypoScript
      • The Constant Editor
        • Preparing Constants
        • A Practical Demonstration: Defining Heading Colors through Constants
        • Categories
        • Subcategories
        • Field Types
        • Describing Categories
      • TypoScript in HomeSite
      • HTMLArea RTE
        • Using Your Own CSS Styles
        • Activating and Deactivating Buttons
        • Setting the Permitted Tags
        • Customizing the Color Field
        • Making Additional Functions Available
      • Customizing the Rich-Text Editor (RTE)
        • Configuring the Toolbar
        • Defining Your Own Classes
        • Paragraph Formats
        • Defining Colors
        • User-Defined Menus
        • Modifying the Background Color
        • Managing the Output
          • Preserving <br /> Tags
          • Allowing Additional Tags
      • Summary
    • 4. Design Templates
      • Design Templates versus Templates
      • Principles of Design Templates
        • Markers
        • Subparts
        • HTML Comments and Subparts
      • Double Headings
      • Summary
    • 5. Templates
      • The Concept of Templates
        • Hello World!
        • Hello World! Part II
        • Inheriting Templates
      • Template Elements
      • Objects and Properties of Websites
        • Defining Page Properties with TypoScript
          • bodyTag
          • stylesheet
          • meta
      • Integrating Design Templates
        • Activating the Design Template
        • Activating Placeholders
          • Activating Subparts
          • Integrating a Stylesheet
          • Activating Markers
          • Locating Errors
      • The Auto Parser Template
        • Installing the Parser
          • Creating a Sample Application
          • Editing the Settings
      • Standard Templates
        • template
        • temp.*
        • styles
        • records (example)
        • content (default)
        • frameset
        • plugin
      • Pure TypoScript Templates
      • TemplaVoil
        • System Prerequisites
        • Preparing TemplaVoil
        • Setting up the Data Structure
        • Creating Content
        • Conclusion
        • Flexforms
      • Summary
    • 6. Working with Graphics
      • Prerequisites
      • Embedding Graphics
      • Modifying Graphics
        • Changing the Graphic Size
      • Creating Graphics Dynamically
        • GIFBUILDER
        • Levels
          • Positioning Levels
        • Drawing Boxes
        • Graphical Text
        • Anti-Aliasing with niceText
      • Advanced Options
        • Shadows
        • Relief
        • Showing the Page Title as a Graphic
        • Importing Graphics from the Database
      • Caching
        • What is Cached in TYPO3
        • Emptying the Cache
      • Summary
    • 7. Menus
      • Available Menu Types
      • Hello Menu!
      • Specifying Menu Properties
        • Defining States
        • Defining the Starting Point of a Menu
        • Specifying Menu Types
        • Defining the Entry Level
        • Specifying the First Menu Entry
        • Specifying the Number of Menu Entries
        • Excluding Menu Items
      • Text Menus
        • Properties of Text Menus
        • Defining Sub-Menus
        • Using Stylesheets
        • Spacing between the Menu Items
        • OptionSplit: Adding Vertical Lines
        • Menus and Tables
        • Text Menus and JavaScript
      • JavaScript Menus
        • Calling Pages from the Menu
      • Graphical Menus
        • Creating Menu Items
        • Integrating Sub-Menu Items
        • Creating Lines
        • Automatically Customizing the Menu Width
        • Adding Background Graphics
        • An Alternative to GMENU
      • GMENU_FOLDOUT
      • Layer Menus
        • Formatting the Menu
        • Text Menus in Layer Form
      • ImageMaps
      • Special Menus
        • Next Page (Browse Menu)
        • You are Here (Rootline Menu)
        • Keywords Menu
        • Updated Pages
        • Directory Menus
        • List Menu
      • Summary
    • 8. Frames
      • Hello Frames!
      • Advantages and Disadvantages of Frames
      • Creating Frames
        • Rows
        • Columns
        • Nesting Frames
        • Defining Frame Properties
        • Frames without Borders
        • An Elegant Solution for Using Frames
      • Iframes
        • Installing the Extension
        • Defining the Properties of Iframe
      • Summary
    • 9. Forms
      • Building Forms
        • Mandatory Fields
        • The Forms Wizard
      • Designing Fields
        • A Completed Form
        • Masking out Pre-Initialized Values
        • Displaying Form Elements in Columns
      • Setting up a Password-Protected Area
        • Installing the System Folder
        • Setting up User Groups
        • Defining Access Restrictions
        • Setting up the Login Form
        • Refining the Login Form
        • User Registration
      • MailformPlus
      • Standard Search
        • Customizing the Search
        • Customizing and Deleting the Selection Field
        • Specifying the Target Window
        • Defining Your Own Error Messages
        • Formatting the Output
      • Integrating the Extended Search
        • Linking the Form
        • Configuring the Search
        • Improving the Display
        • Selective Indexing
          • Problems with Multilingual Websites
          • Searching on Every Page
      • Uploading Files
      • Summary
    • 10. TypoScript and SQL
      • The Database Structure
      • Reading Database Contents Dynamically
        • Checking for Empty Fields
      • Manipulating SQL Statements
        • Arranging Content
        • Selecting Specific Columns
        • Formatting Elements in Specific Columns
      • SQL Queries
        • Constructing an Extension with Kickstarter
        • Plugin Preview
        • Creating a New Record
        • Inserting SQL Queries
      • Summary
    • 11. Extensions
      • Building Extensions
      • Extension Categories
      • The Extension Manager
        • Installing Extensions
      • Useful Extensions
        • News
        • Calendar Editor
          • Customizing the Output
        • Newsletter
          • Creating a Registration Form
          • Unsubscribing from the Newsletter
        • Integrating a Chat Room
      • Developing Your Own Extensions
        • The Kickstarter Extension
          • Setting up an Extension Key
          • The Kickstarter Component
          • Integrating the Front-End Plugin
        • Extension Structure
        • Functions of the Extension Manager
        • TER Account
          • Administering Extensions in TER
          • Offering Documentation
        • Designing your own Extension
      • Practical Extension Development
        • Coding Guidelines
          • File Naming
          • Classes
          • Functions
          • Headers and Copyright Notice
          • Line Formatting
          • Source Code Documentation
          • Variables and Constants
        • Database Abstraction
          • The Wrapper Class
          • Building Queries
          • Query Execution Functions
          • Database Abstraction in Real Life
        • Security
          • Cross-Site Scripting
          • Manipulating SQL Queries
      • Extending the References Extension
        • Addressing Subparts
        • Replacing Markers
      • Summary
    • 12. Barrier Freedom
      • Resources in TYPO3
        • CSS Styled Content
        • Accessible Content
        • CSS Styled Imagetext
        • Accessible XHTML Template
        • Acronym Manager
        • Accessible Tables
        • Gov Textmenu and Gov Accesskey
          • Defining Accesskeys
      • Creating Barrier-Free TYPO3 Content Elements
        • Tables
          • Extended Table Backend
          • Accessible Tables
          • KB Content Table
        • Forms
        • Menus and Barrier Freedom
          • Text Menus
          • Graphical Menus
        • Dynamically Changeable Font Sizes
      • Summary
    • 13. Fine Tuning
      • TypoScript and Multilingualism
        • The Multiple-Tree Concept
        • The One-Tree-Fits-All-Languages Concept
        • Automatic Selection of Languages
        • Menus and Multilingualism
      • Publishing Multiple Versions
        • Offering a PDF Version
          • Installing HTMLDoc under Linux
          • Making HTMLDoc Available for TYPO3
        • Offering a Print Version
      • Deactivating "Page is being generated"
      • TYPO3 and Search Engines
        • Inserting Meta Tags
        • Simulating Static Documents
        • RealURL
        • Protection from Email Spam
        • Customizing the Page Header
      • Summary
    • 14. Customizing the Back End with TSConfig
      • Page TSConfig
        • Configuring Back-End Modules
        • Customizing Editing Forms with TCEFORM
        • Configuring System Tables with TCEMAIN
      • User TSConfig
        • Setup
        • admPanel
        • options
      • Summary
    • A. TypoScript Reference
      • Functions
        • Date and Time Functions
          • date
          • strftime
        • if
          • directReturn
          • equals
          • isFalse
          • isGreaterThan
          • isLessThan
          • isInList
          • isPositive
          • isTrue
          • negate
          • value
        • imageLinkWrap
          • bodyTag
          • effect
          • enable
          • height
          • JSWindow
          • JSWindow.altURL
          • JSWindow.expand
          • JSWindow.newWindow
          • target
          • title
          • width
          • wrap
        • parseFunc
          • allowTags
          • constants
          • denyTags
          • makelinks
          • short
          • tags
        • select
          • andWhere
          • begin
          • join, leftjoin, rightjoin
          • languageField
          • max
          • orderBy
          • pidInList
          • selectFields
          • uidInList
          • where
        • tableStyle
          • align
          • border
          • cellspacing
          • cellpadding
          • params
      • Conditions
        • Browsers
        • Browser-Version
        • Operating System
        • Device
        • Language
        • Other Options
      • Forms
        • Form fields
          • badMess
          • goodMess
          • layout
          • target
          • redirect
          • recipient
      • Frames
        • Frame
          • name
          • obj
          • options
          • params
          • src
        • Frameset
          • 1,2,3,4
          • cols
          • rows
          • params
        • GIFBUILDER
          • backColor
          • format
          • xy
          • reduceColor
          • transparentBackground
          • transparentColor
          • quality
          • offset
          • maxWidth
          • maxHeight
          • workArea
        • Menus
          • Menu states
          • General Properties
      • Object Reference
        • CONTENT
          • select
          • table
        • EDITPANEL
          • allow
          • label
          • line
          • newRecordFromTable
          • onlyCurrentPid
          • previewBorder
        • FILE
          • altText, titleText
          • file
          • longdescUrl
        • HRULER
        • IMAGE
          • altText, titleText
          • border
          • file
          • longdescURL
          • params
        • CLEARGIF
          • Height
          • width
        • IMAGE_RESOURCE
          • file
        • PAGE
          • 1, 2, 3, 4...
          • bgImg
          • bodyTag
          • bodyTagAdd
          • bodyTagMargins
          • config
          • headerData
          • includeLibs
          • meta
          • shortcutIcon
          • typeNum
        • PAGE and Stylesheet Specifications
          • admPanelStyles
          • CSS_inlineStyle
          • hover
          • hoverStyle
          • includeCSS.[array]
          • insertClassesFromRTE
          • noLinkUnderline
          • smallFormField
          • stylesheet
        • TEMPLATE
          • markerWrap
          • marks
          • subparts
          • template
          • workOnSubpart
        • CONFIG
          • admPanel
          • cache_periode
          • headerComment
          • includeLibrary
          • index_enable
          • index_externals
          • local_all
          • message_preview
          • no_cache
          • notification_email_urlmode
          • simulateStaticDocuments
          • simulateStaticDocuments_addTitle
          • simulateStaticDocuments_noTypelfNoTitle
          • simulateStaticDocuments_pENC
          • simulateStatic Documents_dont RedirectPathInfoError
          • spamProtectEmailAddresses
          • spamProtectEmailAddresses_atSubst
          • stat
          • stat_excludeBEuserHits
          • stat_excludeIPList
          • stat_mysql
          • stat_apache
          • stat_apache_logfile
          • sys_language_uid
          • titleTagFunction
      • Summary
    • Index
  • Tytuł: Mastering TypoScript: TYPO3 Website, Template, and Extension Development
  • Autor: Adrian Zimmerman, Daniel Koch, Carl Hanser Verlag GmbH & Co. KG
  • Tytuł oryginału: Mastering TypoScript: TYPO3 Website, Template, and Extension Development.
  • ISBN: 9781847190796, 9781847190796
  • Data wydania: 2006-12-22
  • Format: Ebook
  • Identyfikator pozycji: e_3ccr
  • Wydawca: Packt Publishing