{"id":34725825,"url":"https://github.com/liquidlight/typo3-media-gallery","last_synced_at":"2026-01-20T17:55:54.377Z","repository":{"id":223879216,"uuid":"761796676","full_name":"liquidlight/typo3-media-gallery","owner":"liquidlight","description":"Advanced multi-engine front-end gallery component","archived":false,"fork":false,"pushed_at":"2025-08-07T07:37:24.000Z","size":70,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T06:28:42.108Z","etag":null,"topics":["php","typo3","typo3-extension"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liquidlight.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2024-02-22T14:07:10.000Z","updated_at":"2025-09-23T19:27:28.000Z","dependencies_parsed_at":"2024-02-22T15:29:28.091Z","dependency_job_id":"5bbf2a72-52c6-45ca-8225-da6ff3cc7d75","html_url":"https://github.com/liquidlight/typo3-media-gallery","commit_stats":null,"previous_names":["liquidlight/typo3-gallery","liquidlight/typo3-media-gallery"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/liquidlight/typo3-media-gallery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidlight%2Ftypo3-media-gallery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidlight%2Ftypo3-media-gallery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidlight%2Ftypo3-media-gallery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidlight%2Ftypo3-media-gallery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liquidlight","download_url":"https://codeload.github.com/liquidlight/typo3-media-gallery/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidlight%2Ftypo3-media-gallery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28017200,"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","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["php","typo3","typo3-extension"],"created_at":"2025-12-25T02:27:11.888Z","updated_at":"2025-12-25T02:27:11.981Z","avatar_url":"https://github.com/liquidlight.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TYPO3 Media Gallery\n\nA plugin to show images or content with a list of different engines to display.\n\n## Installation\n\n1. `composer req liquidlight/typo3-media-gallery`\n2. Include the TypoScript, either by using static includes or including the files yourself\n    - Constants: `@import 'EXT:media_gallery/Configuration/TypoScript/constants'`\n    - Setup: `@import 'EXT:media_gallery/Configuration/TypoScript/setup'`\n3. Add a new Media or Content gallery to a page \u0026 select images (or content)\n4. Pick your engine (library) or add your own\n5. Allow the following permissions (if required)\n    - **Tables (listing)**: File collection\n    - **Tables (modify)**: File collection\n    - **Page Content**: File collections\n    - **Page Content: Type**: [Allow] Media Gallery\n\n## Engines\n\nThroughout this extension you will see and interact with the word \"engine\". This describes the library/package used to render the images. Examples of engines are Fancybox and Swiper. There is also an Ajax and Basic engine included which, by default, adds no extra CSS or JavaScript.\n\n## Configuration\n\nMedia Gallery comes bundled with several libraries included, which can all be configured via the `$GLOBALS` array to alter their behaviour. You also have the option of adding your own media gallery engine if desired.\n\n### Remove assets of an existing engine\n\nIf an existing or added engine includes assets which you, yourself, are bundling in your site package or FE assets, you can remove assets in various ways.\n\nYou can add the following to your `ext_localconf.php`:\n\n- `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']['fancybox']['excludeAllAssets'] = true` - This removes **all** assets added by the engine\n- `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']['fancybox']['excludeAssets'] = true` - This removes `stylesheet` and `javascript` assets added to the document\n- `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']['fancybox']['excludeInlineAssets'] = true` - This removes any inline assets\n\nAlternatively, you can `unset()` a specific item - e.g.:\n\n```php\nunset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']['fancybox']['styleSheet']);\n```\n\n### Remove an engine\n\nIt might be that you don't want some (or any) of the default engines to be available. In which case, you can unset the entire engine.\n\nFor example, to remove the base \u0026 carousel engines:\n\n```php\nunset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']['basic']);\nunset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']['carousel']);\n```\n\n### Add an engine\n\nEngines are set via `$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']` and appended to the array.\n\nThe key should be a simple/slugified version of the engine/plugin. This allows unsetting and overriding should that be required.\n\nThe array can have several keys to add assets \u0026 define settings - all of them optional. See below for an explanation of the assets.\n\n#### Adding a new engine\n\n```php\n$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['media_gallery']['engines']['engine_key'] = [\n    'title' =\u003e 'Nice title - shown in the drop down',\n    'template' =\u003e 'Engine', // The name of the partial used (can be omitted to use the \"Basic\" one)\n    'styleSheet' =\u003e '', // CSS to load\n    'javaScript' =\u003e '', // Load JS\n    'inlineStyleSheet' =\u003e '', // Any inline CSS\n    'inlineJavaScript' =\u003e '', // Any inline JS\n];\n```\n\n#### Assets\n\nThe 4 asset keys (`styleSheet`, `javaScript`, `inlineStyleSheet`, `inlineJavaScript`) allow you to load assets when the particular engine is loaded. Each one can take a string or a (multi-dimensional) array and is passed to the TYPO3 `AssetCollector` ([docs](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Assets/Index.html#asset-collector)).\n\nMost of the time, the string will be enough, however there may be times where you need to set the priority or add data attributes.\n\nThis applies to all 4 assets, but as an example, the CSS can be formatted in 3 different ways:\n\n**As a string**\n\n```php\n'styleSheet' =\u003e 'https://www.site.com/path/to/css.css'\n```\n\n**As an array**\n\n```php\n'styleSheet' =\u003e [\n    'https://www.site.com/path/to/css.css',\n    'https://www.differentsite.com/path/to/css.css',\n]\n```\n\n**As a multidimensional array**\n\nThis allows you to set attributes and options as you would if using the `AssetCollector` directly\n\n```php\n'styleSheet' =\u003e [\n    [\n        'https://www.site.com/path/to/css.css',\n        ['data-foo' =\u003e 'bar'], // $attributes\n        ['priority' =\u003e true], // $options\n    ]\n]\n```\n\n## Templates\n\nIf you wish to override any [templates](/Resources/Private/Templates/) or [partials](/Resources/Private/Partials/), add the following to your `constants.typoscript`.\n\n```\nsite {\n\tfluidtemplate {\n\t\tmedia_gallery {\n\t\t\tpartialRootPath = EXT:###YOUR EXT###/Resources/Private/Partials/MediaGallery/\n\t\t\ttemplateRootPath = EXT:###YOUR EXT###/Resources/Private/Templates/MediaGallery/\n\t\t}\n\t}\n}\n```\n\nAlternatively, you can add them directly to the [`setup.typoscript`](/Configuration/TypoScript/setup.typoscript)\n\n**Note**: The custom `\u003cgallery:assets engine=\"{engine}\" /\u003e` view helper is how the assets are injected into the template - ensure your template contains this if overriding the `Gallery.html`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidlight%2Ftypo3-media-gallery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliquidlight%2Ftypo3-media-gallery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidlight%2Ftypo3-media-gallery/lists"}