Charles Brunet asks:

"It seems there are three different places where I can write TypoScript: in templates, there is the constants field and the setup field, and in each page, there is a TSConfig field. However, it seems each TypoScript command need to go in a specific field. Most of the time, I have to try before finding if a given configuration goes into template setup, or in root page TSConfig. Why there are three different places to write TypoScript? What is the use of each of them?"

This question was answered by freddy K:

  • TSconfig is mainly for the backend configuration. You can add/alter/remove values from forms, change the behavior what kind of records users can add, default usergroups etc. see here for more details: bit.ly/hDSrkY
  • Typoscript in the template is used to change the frontend behavior, template parsing, Extension configuration, navigation etc. Typoscript in the template has so called cObjects which provide useful functionality like Image manipulation (IMAGE), getting records from the database (RECORDS), creating menus (HMENU), see bit.ly/e1Z3Po
  • Typoscript constants are much like variables, which can be used within your template Typoscript. e.g. you have an email address which occurs in many different places within the Typoscript template, you might want to define it as constant. See bit.ly/hNWOxx for more info

I like freddy K's simple answers. TYPO3 is kind of unusual to understand at first. I remember at first not understanding the purpose of all the different places to use typoscript. I hope this helps someone.