{"id":49084527,"url":"https://github.com/dirnbauer/typo3-records-list-examples","last_synced_at":"2026-04-20T14:15:51.330Z","repository":{"id":337448450,"uuid":"1153597672","full_name":"dirnbauer/typo3-records-list-examples","owner":"dirnbauer","description":"6 ready-to-use view types for the TYPO3 Records module — Timeline, Catalog, Address Book, Event List, Gallery, Dashboard. Zero PHP, pure TSconfig + Fluid. Companion to records-list-types.","archived":false,"fork":false,"pushed_at":"2026-04-18T08:59:37.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-18T10:35:55.956Z","etag":null,"topics":["backend","examples","typo3","typo3-extension","typo3-v14"],"latest_commit_sha":null,"homepage":"https://github.com/dirnbauer/typo3-records-list-types","language":"HTML","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/dirnbauer.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-09T13:38:39.000Z","updated_at":"2026-04-18T08:59:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dirnbauer/typo3-records-list-examples","commit_stats":null,"previous_names":["dirnbauer/typo3-records-list-examples"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dirnbauer/typo3-records-list-examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirnbauer%2Ftypo3-records-list-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirnbauer%2Ftypo3-records-list-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirnbauer%2Ftypo3-records-list-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirnbauer%2Ftypo3-records-list-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dirnbauer","download_url":"https://codeload.github.com/dirnbauer/typo3-records-list-examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dirnbauer%2Ftypo3-records-list-examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32050577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["backend","examples","typo3","typo3-extension","typo3-v14"],"created_at":"2026-04-20T14:15:50.604Z","updated_at":"2026-04-20T14:15:51.325Z","avatar_url":"https://github.com/dirnbauer.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Records List Examples for TYPO3 v14\n\nExample view types for the [Records List Types](https://github.com/dirnbauer/typo3-records-list-types) extension. Install this extension to get 6 additional custom view types in the TYPO3 backend Records module -- ready to use, no extra PHP needed.\n\n## View Types\n\n| View | Template | Description |\n|------|----------|-------------|\n| **Timeline** | Custom | Classic vertical timeline with date circles, connecting lines, and content cards with chevron connectors |\n| **Catalog** | Custom | Large 4:3 image cards with hover zoom, \"No image\" placeholder, and preview hint for editors |\n| **Address Book** | CompactView | Dense contact list with fixed columns, 500 records per page |\n| **Event List** | TeaserView | Date-focused event cards with calendar icon, 30 per page |\n| **Gallery** | GridView | Photo gallery with large thumbnails, minimal text, 48 per page |\n| **Dashboard** | GridView | Editor-controlled columns via TYPO3's \"Show columns\" selector |\n\n**Timeline** and **Catalog** have custom templates and CSS with full dark mode support. The other 4 reuse built-in templates with different configurations -- demonstrating that many custom view types need only TSconfig and optional assets.\n\nAll views follow TYPO3 Core pagination behavior: multi-table mode shows a preview with \"Expand table\" button, single-table mode shows full pagination.\n\n## Requirements\n\n- TYPO3 v14.0+\n- PHP 8.3+\n- [webconsulting/records-list-types](https://github.com/dirnbauer/typo3-records-list-types) (installed automatically as dependency)\n\n## Installation\n\n```bash\ncomposer require webconsulting/records-list-examples\n```\n\nThis automatically installs `webconsulting/records-list-types` if not already present.\n\nActivate the extension:\n\n```bash\n./vendor/bin/typo3 extension:activate records_list_examples\n```\n\nAfter activation, the 6 new custom view types appear in the view switcher in **Content \u003e Records**.\n\n## Customization\n\n### Restrict views to specific pages\n\nBy default all 6 views are available everywhere. To limit which views appear on which pages, override the `allowed` setting in your Page TSconfig:\n\n```tsconfig\n# Only timeline on the events page\n[page[\"uid\"] == 42]\n    mod.web_list.viewMode.allowed = list,timeline\n    mod.web_list.viewMode.default = timeline\n[end]\n\n# Only catalog on the shop page tree\n[page[\"uid\"] == 100 || page[\"pid\"] == 100]\n    mod.web_list.viewMode.allowed = list,catalog\n    mod.web_list.viewMode.default = catalog\n[end]\n```\n\n### Configure per-table image fields\n\nThe Catalog and Gallery views show thumbnails from FAL image fields. Configure which field to use per table:\n\n```tsconfig\nmod.web_list.gridView.table.tx_myshop_domain_model_product {\n    titleField = name\n    descriptionField = short_description\n    imageField = images\n    preview = 1\n}\n```\n\n### Modify items per page\n\nEach view type has its own default. Override via TSconfig:\n\n```tsconfig\nmod.web_list.viewMode.types.timeline.itemsPerPage = 100\nmod.web_list.viewMode.types.catalog.itemsPerPage = 12\nmod.web_list.viewMode.types.gallery.itemsPerPage = 96\n```\n\n## File Structure\n\n```\nrecords_list_examples/\n├── Configuration/\n│   └── TsConfig/Page/\n│       └── setup.tsconfig              # All 6 view type registrations\n├── Resources/\n│   ├── Private/Backend/\n│   │   └── Templates/\n│   │       ├── TimelineView.html       # Timeline: vertical timeline layout\n│   │       └── CatalogView.html        # Catalog: large image card grid\n│   └── Public/Css/\n│       ├── timeline.css                # Timeline styles (dark mode support)\n│       └── catalog.css                 # Catalog styles (dark mode support)\n├── composer.json\n├── ext_emconf.php\n├── ext_localconf.php\n└── README.md\n```\n\n## How It Works\n\nThis extension contains **zero PHP classes**. It registers custom view types purely through TSconfig and Fluid templates:\n\n- **TSconfig** (`setup.tsconfig`) -- registers 6 view types with labels, icons, templates, CSS, and column configuration\n- **Templates** (`TimelineView.html`, `CatalogView.html`) -- custom Fluid templates for Timeline and Catalog using the current `records_list_types` heading/sanitizer systematic\n- **CSS** (`timeline.css`, `catalog.css`) -- view-specific styles using TYPO3 CSS variables for dark mode\n\nThe other 4 views (Address Book, Event List, Gallery, Dashboard) reuse the built-in templates (`CompactView`, `TeaserView`, `GridView`) from `records_list_types` -- they only need TSconfig configuration.\n\nThis is the pattern for creating your own custom view types: TSconfig + optional template + optional CSS. The two custom templates in this repo also follow the current `records_list_types` systematic for:\n\n- shared `TableHeading` partial rendering\n- TYPO3 core `f:sanitize.html(build: 'records-list-types-backend-fragments')` for TYPO3/core-generated backend fragments\n- compatibility with the built-in pagination partial and multi-record-selection handling\n\nSee the [Custom View Types documentation](https://github.com/dirnbauer/typo3-records-list-types/blob/main/Documentation/CustomViewTypes.md) for full details.\n\n## License\n\nGPL-2.0-or-later\n\n## Author\n\n**Webconsulting** -- office@webconsulting.at\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirnbauer%2Ftypo3-records-list-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdirnbauer%2Ftypo3-records-list-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirnbauer%2Ftypo3-records-list-examples/lists"}