[TYPO3-ect] Improvement of the template engine
    Franz Koch 
    typo3 at fx-graefix.de
       
    Thu Mar  9 16:53:50 CET 2006
    
    
  
Hi,
maybe this might be interesting for this topic. On my extensions I use a 
parser that extracts all markers from a template. Afterwards the markers 
get parsed through a rendering function that fills the markers depending 
on their markup.
e.g.:
- Marker ###LABEL::FIELDNAME### gets filled with a LLL-label
- Marker ###FIELD::FIELDNAME### gets filled with a form-field
   depending on TCA with evaluation over TS-definitions
- Marker ###LABEL::FIELD_FIELDNAME### returns the LLL-label for the
   formfield (if differs from the non-form value) and e.g. get's wrapped
   with <label for="tx_myext[FIELDNAME]">|</label>.
   If the label is not found in e.g. myext\pi1\lllfile.xml it's filled
   with TCA-labels
- Marker ###GROUP::BOTTOM### returns all fields for the field-group
   'bottom' which can be defined in the flexform of the extension
- Marker ###VALUE::FIELDNAME### returns the parsed database value
- Marker ###DESC::FORMUSE### filled with some description
Markers with no value are simply set empty - as well es field-labels 
where the field is f.e. not visible for a FE-user (I use some kind of 
rights-management for visible fields for FE-groups). Could be extended 
with much more, f.e. ###EXT::TTNEWS:LISTVIEW###, ###TS::lib.myObject###.
Advantage would be, that the template is completely multilingual as 
everything is fetched from locallang.php/xml which keeps the used 
html-templates heavily reduced on multilingual pages. And additional 
language-markers can easily be added through TS 
(tx_myext_pi1._LOCAL_LANG.default.newMarker = Hi there).
On my latest extension I also use this for generating approval-mails ouf 
of pure LLL-values.
All in all it is an API, but I haven't extracted it yet.
-- 
Kind regards,
Franz Koch
    
    
More information about the TYPO3-team-extension-coordination
mailing list