{"id":18647730,"url":"https://github.com/andersundsehr/ssi_include","last_synced_at":"2026-03-03T16:02:12.962Z","repository":{"id":43377519,"uuid":"459921082","full_name":"andersundsehr/ssi_include","owner":"andersundsehr","description":"TYPO3 EXT for fast cache update using SSI","archived":false,"fork":false,"pushed_at":"2025-09-23T09:49:03.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-23T11:42:40.936Z","etag":null,"topics":["cms","hacktoberfest","php","ssi","typo3"],"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/andersundsehr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-02-16T08:47:30.000Z","updated_at":"2025-09-23T09:48:21.000Z","dependencies_parsed_at":"2024-06-03T12:13:56.758Z","dependency_job_id":"d6136bd0-296a-4950-938c-b1ff7e9464b6","html_url":"https://github.com/andersundsehr/ssi_include","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.5,"last_synced_commit":"fac4b7353b7be22e9c3b91505e03abe30e613c38"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/andersundsehr/ssi_include","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersundsehr%2Fssi_include","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersundsehr%2Fssi_include/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersundsehr%2Fssi_include/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersundsehr%2Fssi_include/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andersundsehr","download_url":"https://codeload.github.com/andersundsehr/ssi_include/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersundsehr%2Fssi_include/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30051099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T15:26:47.567Z","status":"ssl_error","status_checked_at":"2026-03-03T15:26:17.132Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["cms","hacktoberfest","php","ssi","typo3"],"created_at":"2024-11-07T06:27:38.814Z","updated_at":"2026-03-03T16:02:12.945Z","avatar_url":"https://github.com/andersundsehr.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EXT:ssi_include\n\nThis Extension will help you to update your Menu's and other Partials faster if they are rendered the Same over all your Pages.  \n\nIt uses the SSI technique to include Partials without rendering at that moment.  \nIt Caches the files inside typo3temp/tx_ssiinclude/ so it will reused the same partial for every request.  \nThe Partials will be different for the site Configuration and the sys_langauge and the name you will give the Partial.  \n\n## Requirements:\n\n- TYPO3 \u003e=10\n- SSI enabled on Server\n- SSI errors disabled (otherwise there will be an error in your Backend)\n\n## Installation\n\n``composer req andersundsehr/ssi-include``\n\n### enable SSI in webserver\n\nYou need to enable SSI on your Webserver:\n\nTested only with nginx. Should work with apache,\n\nin your fastcgi part of your config:\n````nginx configuration\nlocation ~ \\.php$ {\n  # add next 2 lines:\n  ssi on; #this must be on\n  ssi_silent_errors on; #this should be on\n\n  fastcgi_split_path_info ^(.+\\.php)(/.+)$;\n  fastcgi_pass php;\n  include fastcgi_params;\n  fastcgi_param SCRIPT_FILENAME $request_filename;\n  fastcgi_read_timeout 600;\n}\n````\n\nIf you use **staticfilecache**, you should use it ♥️   \nyou need to add the ssi config in there as well:\n````nginx configuration\n...\n\nlocation @sfc {\n  # add next 2 lines:\n  ssi on; #this must be on\n  ssi_silent_errors on; #this should be on\n\n  ...\n\n  charset utf-8;\n  default_type text/html;\n  try_files /typo3temp/tx_staticfilecache/https_${host}_443${uri}/index /typo3temp/tx_staticfilecache/${scheme}_${host}_${server_port}${uri}/index =405;\n}\n\n...\n````\n\nAnd now the fun part. You can replace any partial rendering with the ViewHelper ``s:renderInclude``.  \nThat Partial will only be rendered once every 5 minutes for the complete Site (Site Configuration Site (not Page)).  \nThe only differentiation will be done by **site config**, **language** and the provided **name**.  \nOptionally, you can add **cacheLifeTime** to define the lifetime of the partial in seconds and **cacheTags** to invalidate the cache by flushByTags.\nIf you include want to render the same partial with diffrent arguments it will still be the same content if you have the same name.\n\n#### before:\n\n````html\n\u003chtml xmlns:f=\"http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers\"\n      data-namespace-typo3-fluid=\"true\"\u003e\n\n\u003cf:section name=\"Main\"\u003e\n  \u003cdiv class=\"something something\"\u003e\n    \u003cf:render partial=\"Menus/MainMenu\" arguments=\"{_all}\"/\u003e\n  \u003c/div\u003e\n\u003c/f:section\u003e\n````\n\n#### after:\n\n````html\n\u003chtml xmlns:f=\"http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers\"\n      xmlns:s=\"http://typo3.org/ns/AUS/SsiInclude/ViewHelpers\"\n      data-namespace-typo3-fluid=\"true\"\u003e\n\n\u003cf:section name=\"Main\"\u003e\n  \u003cdiv class=\"something something\"\u003e\n    \u003cs:renderInclude name=\"mainMenu\" cacheTags=\"{0: 'someTag_0'}\" cacheLifeTime=\"900\" partial=\"Menus/MainMenu\" arguments=\"{_all}\"/\u003e\n  \u003c/div\u003e\n\u003c/f:section\u003e\n````\n\n### The Cache options\n\n#### storeData\n\nIf you want to store the data in the cache to receive by get.\nThis defaults to on, but if you want to spare some space you can disable it.\n\n#### ssiIncludeDir\n\nPublic directory where the SSI files are stored.\n\n### Using the LazyDataProcessor to increase the Performance even more.\n\n#### before:\n````ts\n10 = FLUIDTEMPLATE\n10 {\n  #...\n  100 = TYPO3\\CMS\\Frontend\\DataProcessing\\MenuProcessor\n  100 {\n    #... Menu Processor Config\n  }\n  200 = AUS\\AusProject\\DataProcessing\\SpecialProcessor\n  #...\n}\n````\n\n#### after:\n````ts\n10 = FLUIDTEMPLATE\n10 {\n  #...\n  100 = AUS\\SsiInclude\\DataProcessing\\LazyDataProcessor\n  100.proxiedProcessor = TYPO3\\CMS\\Frontend\\DataProcessing\\MenuProcessor\n  100.proxiedProcessor {\n    #... Menu Processor Config\n  }\n\n  200 = AUS\\SsiInclude\\DataProcessing\\LazyDataProcessor\n  200.proxiedProcessor = AUS\\AusProject\\DataProcessing\\SpecialProcessor\n  200.variables = specialVar\n  # the LazyDataProcessor needs to know that variable name should be proxied.\n  # So we need to tell him if it is not configured inside the proxiedProcessor.as setting. \n\n  #...\n}\n````\n\n\nNow the Setup is done 😊   \n\n# with ♥️ from anders und sehr GmbH\n\n\u003e If something did not work 😮  \n\u003e or you appreciate this Extension 🥰 let us know.\n\n\u003e We are hiring https://www.andersundsehr.com/karriere/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersundsehr%2Fssi_include","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandersundsehr%2Fssi_include","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersundsehr%2Fssi_include/lists"}