CCE (Custom Content Elements) -Best Practice

421 Aufrufe

Veröffentlicht am

I want to show how to configure and set up custom content elements using mask and mask_export. You will learn about best practice in storing your configuration and templates in an own extension. You get an overview of all the feature the mask_export extension offers and what is the best way to customize even the export content.

Veröffentlicht in: Internet
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

CCE (Custom Content Elements) -Best Practice

  1. 1. 0T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz CCE (Custom Content Elements) - Best Practice
  2. 2. 1T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Me, myself and I „Who is that girl?“ » Nicole Cordes » working at CPS-IT GmbH in Berlin » community activity since 2011 » Core and Security Team member » contributing to multiple public extensions » Slack: @IchHabRecht » Twitter: @IchHabRecht » Mail: nitypo3@cordes.co
  3. 3. 2T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz What are CCE’s?
  4. 4. 3T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz What are custom content elements? Slider
  5. 5. 4T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz What are custom content elements? Dashboard
  6. 6. 5T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz What are custom content elements? Tiles
  7. 7. 6T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz What are custom content elements? Accordion
  8. 8. 7T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz In the old days
  9. 9. 8T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz In the old days templavoila / FCE
  10. 10. 9T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz In the old days kickstarter
  11. 11. 10T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz In the old days extension_builder
  12. 12. 11T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz In the old days Even more » Dynamic Content Elements (DCE) » Fluid Content Engine (fluidcontent) » manually
  13. 13. 12T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz In the old days Drawbacks » no fun » hassle with external dependencies » error-prone » (insert your experience here)
  14. 14. 13T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Today
  15. 15. 14T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Today mask
  16. 16. 15T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Today Installation » by using Extension Manager or `composer require mask/mask` » define your template directories in Extension Manager configuration » ensure existing folders
  17. 17. 16T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Today Usage » add a new content element
  18. 18. 17T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Today Usage » design your content element
  19. 19. 18T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Today Usage » go to the backend and use your content element
  20. 20. 19T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Today Drawbacks » only partly cached (TCA since 3.0.0) » static information are generated on each request » limited due to Extbase usage » currently the development stopped
  21. 21. 20T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow
  22. 22. 21T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow mask_export
  23. 23. 22T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Installation » by using the Extension Manager or `composer require cpsit/mask-export` » nothing more to do as mask_exports integrates itself in the mask backend module
  24. 24. 23T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Usage » provide an extension name for the exported extension » save it, so it gets stored in your backend user information » either download a zip file or install (NEW!) the extension locally
  25. 25. 24T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Usage » what you get is an independent extension that you can use in any other system
  26. 26. 25T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Usage » add the extension’s static template to your includes
  27. 27. 26T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Usage » go to the backend and use your content element
  28. 28. 27T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz … pretty cool …
  29. 29. 28T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz … but what if …
  30. 30. 29T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz … in the middle of a project …
  31. 31. 30T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz … the client needs …
  32. 32. 31T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz … a new content element?
  33. 33. 32T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Workflow
  34. 34. 33T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Workflow » prerequisite: » use the export as content elements container extension » add the export extension as dependency to your e.g. sitepackage
  35. 35. 34T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Workflow Add your own Fluid templates: » copy generated Fluid templates to your sitepackage » use constants to adjust the template, partials and layout paths of the export extension typo3conf/ext/cce_sitepackage/Configuration/TypoScript/constants.ts plugin.tx_cceexport.view.partialRootPath = EXT:cce_sitepackage/Resources/Private/Partials/Content/ plugin.tx_cceexport.view.layoutRootPath = EXT:cce_sitepackage/Resources/Private/Layouts/Content/ plugin.tx_cceexport.view.templateRootPath = EXT:cce_sitepackage/Resources/Private/Templates/Content/ » change the templates according to your needs
  36. 36. 35T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Workflow Extend TCA information of your content elements: » extend and/or change the TCA of your content elements » add wizards » use display conditions » add eval functions » …
  37. 37. 36T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz You can even translate locallang files!
  38. 38. 37T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Tomorrow Workflow Add translations of the locallang.xlf files: » add translation in your sitepackage extension » register translated xlf files as override files typo3conf/ext/cce_sitepackage/ext_localconf.php $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['de'] ['EXT:cce_export/Resources/Private/Language/locallang_db.xlf']['cce_sitepackage'] = 'EXT:cce_sitepackage/Resources/Private/Language/de.locallang_db.xlf'; $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['de'] ['EXT:cce_export/Resources/Private/Language/locallang_db_new_content_el.xlf']['cce_sitepackage'] = 'EXT:cce_sitepackage/Resources/Private/Language/de.locallang_db_new_content_el.xlf';
  39. 39. 38T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz In a couple of days aka the future
  40. 40. 39T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz The future content_repository
  41. 41. 40T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz The future Installation » pull request for mask “Reusable components (split mask.json)” » https://github.com/Gernott/mask/pull/40 » you can define a folder for several json files instead of the mask.json » the patch splits the content elements of your mask.json into several single json files » you can easily store json files in a kind of content repository » copy needed content elements into the mask folder
  42. 42. 41T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Anything else?
  43. 43. 42T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz The future Taking care » clean up mask’s code basis » remove dependency to Extbase Controller (use more core features) » cache information on build time » fix known bugs Everyone is welcome to join the mask team and help out!
  44. 44. 43T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz Q & A
  45. 45. 44T3DD17 Malmö, Nicole Cordes, CCE (Custom Content Elements) - Best Practice, CPS-IT Mehr Wert im Netz 44 Thanks for your attention!

×