andersundsehr/ssi-include

允许定期从anders und sehr GmbH创建ssi包含

安装次数: 3,642

依赖关系: 1

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 1

类型:typo3-cms-extension

1.1.0 2024-06-13 15:37 UTC

This package is auto-updated.

Last update: 2024-09-13 16:13:16 UTC


README

此扩展可以帮助您更快地更新菜单和其他部分,如果它们在所有页面上渲染相同。

它使用SSI技术在不立即渲染的情况下包含部分。
它缓存typo3temp/tx_ssiinclude/内的文件,因此将重复使用相同的部分来响应每个请求。
部分将根据站点配置、sys_language和您给出的部分名称而有所不同。

要求

  • TYPO3 >=10
  • 服务器上启用了SSI
  • 禁用了SSI错误(否则后端将出现错误)

安装

composer req andersundsehr/ssi-include

在web服务器上启用SSI

您需要在您的Web服务器上启用SSI

仅与nginx进行了测试。应与apache兼容,

在您的配置的fastcgi部分中

location ~ \.php$ {
  # add next 2 lines:
  ssi on; #this must be on
  ssi_silent_errors on; #this should be on

  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $request_filename;
  fastcgi_read_timeout 600;
}

如果您使用staticfilecache,您应该使用它♥️
您还需要在该部分中添加ssi配置

...

location @sfc {
  # add next 2 lines:
  ssi on; #this must be on
  ssi_silent_errors on; #this should be on

  ...
  
  charset utf-8;
  default_type text/html;
  try_files /typo3temp/tx_staticfilecache/https_${host}_443${uri}/index /typo3temp/tx_staticfilecache/${scheme}_${host}_${server_port}${uri}/index =405;
}

...

现在是最有趣的部分。您可以用ViewHelper s:renderInclude替换任何部分的渲染。
该部分将在每5分钟内仅渲染一次整个网站(站点配置,而不是页面)。
唯一的不同之处在于通过站点配置语言和提供的名称
可选地,您可以添加cacheLifeTime来定义部分的生存时间(以秒为单位)。如果您想以不同的参数渲染相同的部分,只要名称相同,内容仍然相同。

之前

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
      data-namespace-typo3-fluid="true">

<f:section name="Main">
  <div class="something something">
    <f:render partial="Menus/MainMenu" arguments="{_all}"/>
  </div>
</f:section>

之后

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
      xmlns:s="http://typo3.org/ns/AUS/SsiInclude/ViewHelpers"
      data-namespace-typo3-fluid="true">

<f:section name="Main">
  <div class="something something">
    <s:renderInclude name="mainMenu" cacheLifeTime="900" partial="Menus/MainMenu" arguments="{_all}"/>
  </div>
</f:section>

来自anders und sehr GmbH的♥️

如果某些东西没有工作 😮
或者您喜欢这个扩展 🥰,请告诉我们。

我们正在招聘https://www.andersundsehr.com/karriere/