ichhabrecht/intcache

将不可缓存的页面对象转换为可缓存链接

安装次数: 3,656

依赖项: 0

建议者: 0

安全性: 0

星标: 19

关注者: 6

分支: 1

开放问题: 1

类型:typo3-cms-extension

1.1.3 2020-04-24 09:04 UTC

This package is auto-updated.

Last update: 2024-08-26 07:31:24 UTC


README

Latest Stable Version Build Status StyleCI

将不可缓存的页面对象转换为可缓存链接

包含不可缓存内容元素(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.ajaxIntcache.esiIntcache.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

社区