{"id":21277926,"url":"https://github.com/b13/pagetsconfig","last_synced_at":"2025-07-11T08:32:10.743Z","repository":{"id":23357374,"uuid":"26718376","full_name":"b13/pagetsconfig","owner":"b13","description":"Allows to modify TCA values with pagetsconfig in TYPO3 v10+","archived":false,"fork":false,"pushed_at":"2023-12-06T13:03:35.000Z","size":32,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-11-14T18:53:49.264Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-16T15:32:53.000Z","updated_at":"2024-08-08T09:22:01.000Z","dependencies_parsed_at":"2023-01-13T23:10:48.758Z","dependency_job_id":null,"html_url":"https://github.com/b13/pagetsconfig","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fpagetsconfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fpagetsconfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fpagetsconfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fpagetsconfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b13","download_url":"https://codeload.github.com/b13/pagetsconfig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225708281,"owners_count":17511635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T10:08:16.970Z","updated_at":"2024-11-21T10:08:17.516Z","avatar_url":"https://github.com/b13.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TYPO3 Extension \"Pagetsconfig\"\n\n## About this extension\n\nTYPO3's out of the box configuration options to change the way editors interact with content are impressive and cover \nalmost all use cases we encounter in our daily work. Changing backend forms for example for content element types globally\nor for a specific content element type is a breeze — you can just override global TCA settings. Changing some other \nelements, like a field label, hiding a specific field in a specific content element type within just parts of your \nTYPO3 instance (whether for one of your page trees or a part of a larger page tree) is easy to do using Page TsConfig.\n\nSometimes, though, you might want some more options than ship with TYPO3 core. At least we do from time to time. \nFor advanced use cases we created (and use) this extension. \n\nThis extension enables advanced configuration options using Page TsConfig for special use cases.\n\n## Use cases for this extension\n\n### Changing configuration for a field\n\nSometimes you might need to adjust configuration for a field for parts of your TYPO3 page tree, like when working with\nmulti-site setups. You can change the configuration for the `header` field using:\n\n```\nTCEFORM.tt_content.header.config.type = text\nTCEFORM.tt_content.header.config.rows = 2\n```\n\nThis also works for certain the types only:\n\n```\nTCEFORM.tt_content.header.types.my_example_type.config.type = text\nTCEFORM.tt_content.header.types.my_example_type.config.rows = 3\nTCEFORM.tt_content.header.types.my_example_type.config.cols = 25\n```\n\n### Changing configuration for inline fields\n\nDepending on your frontend design your \"Element Component 1\" might feature an image with a full palette of fields for \nmeta data - alt text, title text, a link etc. For parts of your page tree, though, the element uses a different frontend\ntemplate and some of these fields are ignored. Your editor might be confused about a \"link\" field, that does not do\nanything. Here's how to change a `showitem` configuration for an inline field:\n\n```\nTCEFORM.tt_content {\n  image.types.component-1.config.overrideChildTca.types.2.showitem = --palette--;;basicImageoverlayPalette, --palette--;;filePalette\n} \n```\n\n### Changing crop variants using PageTS\n\nWe maintain TYPO3 instances with multiple websites using a common set of templates and content element types. We normally\nset fixed cropVariants for all image assets an editor can use in a specific element if the design calls for a specific\naspect ratio; often times more than one, depending on the design.\n\nSometimes we have a set of teaser elements in such a template package, the default ratio for this element's image is 4:3, but \nfor some reason two out of your 70 websites built upon that template package use a design slightly different and want to\nhave a 16:9 image ratio for that specific element.\n\nThis extension enables the use of Page TsConfig to alter available cropVariant settings:\n\n```\nTCEFORM.tt_content.image.types.my_example_teaser.config.overrideChildTca.columns.crop.config.cropVariants {\n  default {\n    allowedAspectRatios.default.title = 16:9\n    allowedAspectRatios.default.value = 1.77\n    selectedRatio = default\n  }\n}\n```\n\nDepending on our use case we can change a setting for an existing named cropVariant, or add a new one — sometimes there's\nno cropVariant set globally to begin with (and we set everything using PageTS), sometimes there's the need to change on \npart.\n\nThis is also possible for inline records, their values and their respective settings (`tx_listelements_list` being an\ninline element created using EXT:listelements):\n\n```\nTCEFORM.tt_content {\n  tx_listelements_list.types.timeline.config.overrideChildTca.columns.images.config.overrideChildTca.columns.crop.config.cropVariants {\n    default.title = My new title\n    allowedAspectRatios.1:1.title = 1:1\n    allowedAspectRatios.1:1.value = 1\n    selectedRatio = 1:1\n  }\n}\n```\n\n### Changing palette configuration\n\nSometimes it makes sense to rearrange fields in the backend within a palette for one of your page trees, for example because it \nhelps the editor to better recognize the connection between the backend form and the frontend design. It is possible\nusing Page TsConfig to change settings for palettes:\n\n```\n# move the \"media\" field from example-palette-2 to example-palette-1\nTCEFORM.tt_content {\n  palettes.types.startpage-header.startpage-header-media.label = Custom palette title\n  palettes.types.startpage-header.startpage-header-media.showitem = image, --linebreak--, media\n  # an empty palette will not be shown at all\n  palettes.types.startpage-header.startpage-header-media-desktop.showitem =\n}\n```\n\nImportant note: While you can mess with the order of fields that way, you cannot add a field entirely. The TCA `showitem`\nconfiguration determines which fields are available for your backend form; you might need to add a field globally, remove\nit globally and enable it for a specific page tree depending on your use case.\n\n## When to not use this extension\n\nIf you want to change some setting for some backend form globally, always put your configuration in `TCA/Overrides`!\n\n## Credits\n\nThis extension was created by Benni Mack way back in 2013, and repurposed 2022 by David Steeb for [b13 GmbH, Stuttgart](https://b13.com).\n\n[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fpagetsconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb13%2Fpagetsconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fpagetsconfig/lists"}