ichhabrecht / intcache
将不可缓存的页面对象转换为可缓存链接
1.1.3
2020-04-24 09:04 UTC
Requires
- php: >= 5.5, < 7.5
- typo3/cms-core: ^7.6 || ^8.7 || ^9.5 || ^10.4
Requires (Dev)
- nimut/testing-framework: 4.x-dev || 5.x-dev
Replaces
- typo3-ter/intcache: 1.1.3
This package is auto-updated.
Last update: 2024-08-26 07:31:24 UTC
README
将不可缓存的页面对象转换为可缓存链接
包含不可缓存内容元素(INT-对象,未缓存的插件内容)的页面将带有无缓存头信息发送给用户。本扩展替换不可缓存的内容元素,并提供异步获取内容的URL。
内容替换方式有
- div-container 用于JavaScript/Ajax处理
- SSI块用于NGINX或Apache处理
- ESI块用于Varnish处理
安装
使用Composer或扩展管理器简单地安装扩展。
composer require ichhabrecht/intcache
使用方法
- 包含intcache扩展提供的静态TypoScript
JavaScript
- 为每个元素渲染一个具有类
intcache intcache-item intcache-link
的div-container - 源URL作为
data-src
属性提供 - 您需要提供一个脚本,遍历所有div并从提供的URL获取内容
服务器端包含
- 在您的NGINX配置中启用SSI支持
location ~ \.php$ {
ssi on;
}
- 更改TypoScript以使用SSI渲染
lib.intcache.format = ssi
边缘包含
- 在您的Varnish配置中启用ESI支持
sub vcl_backend_response {
set beresp.do_esi = true;
}
- 更改TypoScript以使用ESI渲染
lib.intcache.format = esi
其他配置
intcache处理
为了能够在某些站点和/或域名上禁用intcache处理,您可以使用TypoScript设置 config.intcache = 0
显式禁用它。
模板
只需将TypoScript 常量 templateRootPath
设置为提供附加模板路径。
lib.intcache.view.templateRootPath = EXT:extension/Resources/Private/Templates/Intcache/
默认情况下,使用文件 Intcache.ajax
、Intcache.esi
或 Intcache.ssi
进行渲染(根据您当前的格式设置)。您可能希望更改TypoScript设置 lib.intcache.format
以添加自己的格式。
内容
为了能够在启用TYPO3 开发应用程序上下文的情况下查看当前内容而无需进一步处理,当启用开发模式时,内容会被渲染。
缓存超时
默认情况下,所有URL都会向用户发送一个 no-cache
头信息。您可以使用 cache_timeout
TypoScript配置定义自己的缓存超时。
COA_INT对象的示例配置
page.5 = COA_INT
page.5 {
cache_timeout = 500 // cache this content 500 seconds
10 = TEXT
10.wrap = <p>|</p>
10.value = Hello world
}
插件的示例配置
tt_content.list.20.[pluginName].cache_timeout = 300
社区
- 感谢elementare teilchen GmbH通过GitHub赞助赞助此扩展的维护。