supseven / theme-base
supseven 的站点包库。TYPO3 项目的瑞士军刀
Requires
- b13/bolt: ^2.3
- b13/doktypemapper: ^1.1.1
- christophlehmann/pagetreefilter: ^2
- eliashaeussler/typo3-warming: >=1.1.0
- helhum/dotenv-connector: ^3
- ichhabrecht/content-defender: ^3.4
- josefglatz/beuser-fastswitch: >=5.0.2
- josefglatz/cropvariantsbuilder: >=2.0.0
- josefglatz/hide-sys-template: ^4
- lolli/dbdoctor: ^0.5.0
- o-ba/custom_dashboard_widgets: ^1.3
- plan2net/webp: ^5.0.1
- spooner/deployer-information: ^1.4
- studiomitte/live-search-extended: *
- typo3/cms-adminpanel: ^12.4
- typo3/cms-core: ^12.4
- typo3/cms-linkvalidator: ^12.4
- typo3/cms-lowlevel: ^12.4
- typo3/cms-seo: ^12.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.62
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^10
- typo3/testing-framework: ^8.2
README
文档和 README 正在进行中
如何使用此包
- 在您的本地站点包扩展
supseven/theme_project
中要求supseven/theme-base
- 一些配置会自动加载
- 大多数配置需要在您项目的站点包中使用/导入
- 包
supseven/theme-base
可以被称为 "站点包库"
- 本地包
theme_project
(supseven/theme-project
) 的使用方式与之前的主题扩展类似。- 所有前端相关内容都位于
supseven/theme-project
- 项目名称保持一致
- 所有前端相关内容都位于
- 最终的站点包扩展名称以 TYPO3 站点命名:例如
theme_site_sitename
- 它需要本地包
supseven/theme_project
- 此包在
b13/bolt
的 TYPO3 站点配置中设置为站点包。
- 它需要本地包
使用此结构,每个 TYPO3 项目都可以轻松地随着多个站点的增加而增长。
所需的站点设置
settings.yaml
themeBase: typo3: linkvalidator: fromemail: '%env(MAIL_SENDEREMAIL_DEFAULT)%' externalhttpAgentEmail: '%env(MAIL_SENDEREMAIL_DEFAULT)%' externalhttpAgentName: '%env(TYPO3_LINKVALIDATOR_EXTERNAL_AGENT_NAME)%' tcemain: permissions: groupid: 1 page: fluidtemplate: rootPaths: # Used for rootPaths index 20 sitepackage: theme_project # Used for rootPaths index 30. Must not be used if not necessary sitepackageSiteOverride: theme_site_sitename
在创建 TYPO3 12 中 ext:theme 的提取时添加的更改
更改:applicationContext 的条件
检查 applicationContext 的条件必须检查 "以...开始",因为将来可能会有多个环境(横向扩展)的使用场景。因此,检查精确的 applicationContext 已不再是最优的方式。现在建议使用 [applicationContext matches "#^Production/Live#"]
。
重大更改:移除 Variable RootUid
FLUIDTEMPLATE 变量 RootUid
已移除。继任者是 TYPO3 SiteProcessor,可以使用 {site.rootPageId}
使用。
重大更改:移除 FLUIDTEMPLATE 选项 extbase.controllerExtensionName
我们多年来一直使用此选项,以实现以下 Fluid ViewHelpers 无需扩展名即可在 fluid 页面中工作的神奇配置。
f:translate
f:uri.resource
此选项已移除,因为 TYPO3 核心团队计划在即将到来的主要 TYPO3 版本 13/14 中将其移除。
除此之外,使用以下方法(有些人可能已经这样做)会更好。
- A)
{f:translate(key: 'LLL:EXT:my_extension/Resources/Private/Language/yourFile.xlf:yourKey')}
- 或 B) 如果扩展使用 TYPO3 特定的 locallang 规范:
{f:translate(key:'yourKey', extensionName='MyOtherExtension')}
更改:将通用限制移动到专用包
例如,"eval trim" 和 "eval required" 的配置现在封装在 josefglatz/bureaucratic
中。 查看
更改:自动加载 typo3/cms-adminpanel User TsConfig 配置
用户 TsConfig 部分将自动加载并因此激活。如果需要禁用或重新配置 adminpanel User TsConfig,只需在 supseven/theme_project
中覆盖配置即可。
当 TypoScript 设置在您的站点包基础扩展
supsven/theme-project
中包含时,将加载 TypoScript Setupconfig.admPanel = 1
。
更改:我们的 de facto 通用页面 TsConfig 自动加载
由于 TYPO3 12,TYPO3 Linkvalidator 会全局加载页面 TsConfig。这是将相同步骤应用于我们喜爱的 "theme" 的充分理由。
typo3/cms-linkvalidator
配置将自动添加。为每个 TYPO3 站点配置它们添加了新的站点设置。- 表单配置:一些常见的
TCEFORM.pages
配置将自动激活。 - 主配置:公共的 ClearCache 和 CopyBehaviours 将自动加载。同时,默认权限将被设置,并且可以针对 TYPO3 网站进行特定配置。
- 请参阅
EXT:theme_base/Configuration/SiteConfiguration/Settings/DefaultSettings.yaml
以获取默认设置,这些设置可以通过 yaml 导入添加到 TYPO3 网站配置中。
- 请参阅