Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pratica dopo il manuale Typoscript Reference

2,303 views

Published on

Esempi pratici su typoscript

Published in: Technology


  • *'Wrist Corsages':http://corsages-boutonnieres.com/wrist-corsages/*
    *'Corsages and Boutonnieres':http://corsages-boutonnieres.com/*
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Pratica dopo il manuale Typoscript Reference

  1. 1. Pratica dopo il manuale TYPOSCRIPT REFERENCE Relatore: Roberto TorresaniT3Camp Italia Bologna 28/29 Ottobre 2011Il secondo evento italiano dedicato a Typo3
  2. 2. Roberto Torresani Libero professionista dal 2003 Socio fondatore POSIT (Trento) nel 2007 TYPO3 dal 2005 Realizzazione siti e portali Consulenze per web agency Formazione base e avanzata TYPO3 Certifier IntegratorPag. 2 http://www.t3campitalia.it/
  3. 3. T3Camp Italia 2010 Typoscript, questo sconosciuto ● Cosè typoscript ● Come funziona ● Dovè utilizzato ● Esempi pratici di base ● Riferimenti a manualiPag. 3 http://www.t3campitalia.it/
  4. 4. Qualche difficoltà?Pag. 4 http://www.t3campitalia.it/
  5. 5. La direzione è quellaPag. 5 http://www.t3campitalia.it/
  6. 6. Più modi per arrivarePag. 6 http://www.t3campitalia.it/
  7. 7. Non so più cosa farePag. 7 http://www.t3campitalia.it/
  8. 8. I prossimi 30 minuti ● Quando e perché sfruttare typoscript ● Strade alternative ● Esempi concreti ● Personalizzazione backend ● Menu, siti multilingua, personalizzare estensioni ● stdWrap, condizioni, content object, … ● Estrazione dati da database ● Le solite proposte dei grafici ● Idee casualiPag. 8 http://www.t3campitalia.it/
  9. 9. A volte ... ● Si cerca unestensione da installare che può: ● appesantire il sistema ● creare possibili malfunzionamenti e relativi aggiornamenti ● non essere sempre personalizzabile ● Con typoscript: ● tutto è gestito dal core di TYPO3 ● sicurezza del codice ● facilità di personalizzazionePag. 9 http://www.t3campitalia.it/
  10. 10. Immagine di banner ● Il cliente deve poter gestire le immagini di banner ● Nel caso non sia presente un immagine va visualizzata quella del padre (ricorsivo)Pag. 10 http://www.t3campitalia.it/
  11. 11. Propietà della paginaPag. 11 http://www.t3campitalia.it/
  12. 12. Banner con typoscript page.10.subparts.BANNER = IMAGE page.10.subparts.BANNER { file { import = uploads/media/ import { data = levelmedia:-1,slide listNum = 0 } } }Pag. 12 http://www.t3campitalia.it/
  13. 13. Frase in evidenza ● Come il banner, va visualizzata una frase che il cliente può personalizzare in ogni pagina. ● Se la frase non è presente si eredita quella della pagina padrePag. 13 http://www.t3campitalia.it/
  14. 14. Proprietà di paginaPag. 14 http://www.t3campitalia.it/
  15. 15. Setup e constant per frase ● Constant fraseDefault = Se hai unidea … autoreDefault = Jim Morrison ● Setup page.10.subparts.FRASE = COA { 10 = TEXT 10.field = abstract 10.ifEmpty = {$fraseDefault} 20 = TEXT 20.field = author 20.ifEmpty = {$autoreDefault} 20.wrap = <br/><span class="autore">(|)</span> }Pag. 15 http://www.t3campitalia.it/
  16. 16. Permessi accesso pagine ● Più utenti gestiscono i contenuti di un sito ● Quando un utente crea una nuova pagina, gli altri utenti non vedono la paginaPag. 16 http://www.t3campitalia.it/
  17. 17. Page TSConfig TCEMAIN { # ID gruppo proprietario nuove pagine permissions.groupid = 1 # Permessi del gruppo nuove pagine permissions.group = show,edit,new,editcontent }Pag. 17 http://www.t3campitalia.it/
  18. 18. Personalizzare Conten Element Il cms deve permettere variazioni grafiche nella visualizzazione dei blocchi testo (content element)Pag. 18 http://www.t3campitalia.it/
  19. 19. Personalizzare Content ElementPag. 19 http://www.t3campitalia.it/
  20. 20. Personalizzare Content Element TCEFORM { tt_content { header_layout { addItems.6 = newHeader altLabels.6 = Nuovo header } } }Pag. 20 http://www.t3campitalia.it/
  21. 21. Pagine con template differenti Le pagine di secondo livello del sito devono prevedono più template: ● Template due colonne ● Template tre colonnePag. 21 http://www.t3campitalia.it/
  22. 22. TSConfig layout personalizzati TCEFORM { pages { layout { altLabels { 0 = layout due colonne 1 = layout tre colonne } removeItems = 2,3 } } }Pag. 22 http://www.t3campitalia.it/
  23. 23. Setup template più layout # Layout di pagina [globalVar = TSFE:page|layout=0] page.10.template.file = fileadmin/col2.html [global] [globalVar = TSFE:page|layout=1] page.10.template.file = fileadmin/col3.html [global]Pag. 23 http://www.t3campitalia.it/
  24. 24. Label multilingua In tutte le pagine del sito deve essere presente una label multilinguaPag. 24 http://www.t3campitalia.it/
  25. 25. Constant per label multilingua ● Constant labelSocial = Folgen Sie uns auf [globalVar = GP:L=1] labelSocial = Seguici su [end] [globalVar = GP:L=2] labelSocial = Follow us on [end]Pag. 25 http://www.t3campitalia.it/
  26. 26. Setup per label multilingua ● Setup page.10.subparts.SOCIAL = COA page.10.subparts.SOCIAL { 10 = TEXT 10.value = {$labelSocial} 10.wrap = <div class="label">|</div> }Pag. 26 http://www.t3campitalia.it/
  27. 27. Localizzazione estensioni ● Un estensione installata non presenta la traduzione nella lingua del sito ● La traduzione presente in un estensione non piace al clientePag. 27 http://www.t3campitalia.it/
  28. 28. Setup localizzazione plugin.tx_changepassword_pi1._LOCAL_LANG.default { legend = Cambio password oldpassword = Vecchia password newpassword = Nuova password }Pag. 28 http://www.t3campitalia.it/
  29. 29. Variabile da localconf● localconf.php $TYPO3_CONF_VARS[TORRESANI][email] = typo3@torresani.eu;● Setup page.60 = TEXT page.60.data = global:TYPO3_CONF_VARS|TORRESANI|emailPag. 29 http://www.t3campitalia.it/
  30. 30. Titolo pagina padre Nel menu di secondo livello, indicare il nome della pagina di primo livello, senza linkPag. 30 http://www.t3campitalia.it/
  31. 31. Setup per titolo pagina page.10.subparts.TITOLO_MENU2 = HMENU page.10.subparts.TITOLO_MENU2 { special = rootline includeNotInMenu = 1 entryLevel = 1 maxItems = 1 begin = 2 1 = TMENU 1{ expAll = 0 wrap = <span class="titolo_menu2">|</span> NO { DoNotLinkIt = 1 } } }Pag. 31 http://www.t3campitalia.it/
  32. 32. Personalizzazione per colonna ● Un sito presenta una grafica suddivisa in tre colonne; ● Nel backend sono utilizzate le colonne LEFT, NORMAL e RIGHT; ● Personalizzare la classe del link in base alla colonna di appartenenzaPag. 32 http://www.t3campitalia.it/
  33. 33. Setup (1/2) temp.textbase < tt_content.text tt_content.text > tt_content.text = CASE tt_content.text { key.field=colPos default < temp.textbase 1 < temp.textbase 2 < temp.textbase ●Pag. 33 http://www.t3campitalia.it/
  34. 34. Setup (2/2) default.20.parseFunc.tags.link.typolink.ATagParams= class="linkNormal" 1.20.parseFunc.tags.link.typolink.ATagParams= class="linkLeft" 2.20.parseFunc.tags.link.typolink.ATagParams= class="linkRight" } temp.tt_content >Pag. 34 http://www.t3campitalia.it/
  35. 35. Pagina senza contenuti Se la pagina non presenta dei contenuti, visualizzare la stringa: “Pagina in allestimento”Pag. 35 http://www.t3campitalia.it/
  36. 36. Setup per pagina vuota page.10.subparts.CONTENT = COA page.10.subparts.CONTENT { 10 = HTML 10 < styles.content.get 10.if.isTrue.cObject < styles.content.get 20 = TEXT 20.value = <h1>{field:title}</h1><p><i>pagina in allestimento</i></p> 20.insertData = 1 20.if.isFalse.cObject < styles.content.get }Pag. 36 http://www.t3campitalia.it/
  37. 37. Ultima news in evidenza Nella home page del sito va visualizzato il titolo, con link al dettaglio, dellultima news inseritaPag. 37 http://www.t3campitalia.it/
  38. 38. Typoscript ultima news (1/2) page.10 { subparts.NEWSHOME = CONTENT subparts.NEWSHOME{ table = tt_news select { selectFields = uid, title pidInList = 90 languageField = sys_language_uid orderBy = uid desc max = 1 } [....]Pag. 38 http://www.t3campitalia.it/
  39. 39. Typoscript ultima news (2/2) [....] renderObj = COA renderObj { 10 = HTML 10.value.field = title 10.value.typolink.parameter = 50 10.value.typolink.additionalParams.field = uid 10.value.typolink.additionalParams.wrap = &tx_ttnews[tt_news]=| } } }Pag. 39 http://www.t3campitalia.it/
  40. 40. Configurazioni differenti Nella stessa pagina di un sito devono essere visualizzate due istanze della stessa estensione con configurazioni differentiPag. 40 http://www.t3campitalia.it/
  41. 41. Setup configurazione differente temp.tt_news < plugin.tt_news plugin.tt_news > plugin.tt_news = CASE plugin.tt_news { key.field = uid default < temp.tt_news 75 < temp.tt_newspi1 75 { templateFile = newsAlternativo.html singlePid = 33 } }Pag. 41 http://www.t3campitalia.it/
  42. 42. Roberto Torresani Roberto Torresani typo3@torresani.eu www.torresani.eu (prima o poi)Pag. 42 http://www.t3campitalia.it/

×