b13/bolt 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

b13/bolt

Composer 安装命令:

composer require b13/bolt

包简介

Bolt - An easy TYPO3 integration basis

README 文档

README

Introduction

This package is a TYPO3 extension that makes integration work easier.

Simply put, the extension allows running a TYPO3 instance without any database driven TypoScript template (sys_template) records and without PageTsConfig page record entries, enabling file-driven (as in: not database-driven) deployment of TypoScript and PageTsConfig. This is done by connecting a Site configuration (those .yaml site configuration files) with a "Site extension" and using some simple events or hooks of the TYPO3 core.

Background

We consider it best practice to run a site and all custom Backend Layouts, TypoScript, PageTS, Fluid templates and similar in one place: In a "site extension". We prefix them with "site_", something like site_myproject. This site extension is the general entry point for configuration of a single Site page tree.

The "bolt" extension provides a Site configuration setting called "sitePackage" that connects a Site with this site package / extension. This is simply an entry in the Site's .yaml file, and can be manually added to the file, or clicked in the TYPO3 "Sites" Backend module.

Providing "everything" as files without database records is in general possible for nearly everything in current TYPO3, except for sys_template records and PageTsConfig settings. The extension thus provides some hooks that look up the connected "site extension" of a site, to TypoScript "constants" and "setup", as well as PageTsConfig, from files, provided by the site extension. This avoids these database entries.

Installation

  • Require the extension via composer (composer require b13/bolt) or load it from TER (extension name "bolt") using the extension manager.

  • Create a site extension, having at least a composer.json and an ext_emconf.php file, prefixed with site_. Have this extension loaded.

  • Either manually edit the Site Configuration .yaml file and add sitePackage: '<my_extension_key>' as top-level key, or edit the Site Configuration in the Backend "Sites" module, select the site package / extension in the drop and save it.

  • Add extension file Configuration/TypoScript/constants.typoscript. This is the main TypoScript "constants / settings" entry point for this Site in the page tree. It should typically contain @import lines to load further "static includes" from other extensions as well as own TypoScript provided by the site extension itself. This file is automatically loaded by convention using a hook or event of the bolt extension. Since TYPO3 v12, the Backend "Template Analyzer" reflects such includes.

  • Add extension file Configuration/TypoScript/setup.typoscript. This is the main TypoScript "setup" entry point for this Site in the page tree. It should typically contain @import lines to load further "static includes" from other extensions as well as own TypoScript provided by the site extension itself. This file is automatically loaded by convention using a hook or event of the bolt extension. Since TYPO3 v12, the Backend "Template Analyzer" reflects such includes.

  • Add extension file Configuration/PageTs/main.tsconfig (if needed). This is the main PageTsConfig entry point for this Site in the page tree. It should typically contain further @import lines. This file is automatically loaded by convention using a hook or event of the bolt extension.

  • Add further files like Frontend rendering Templates, ViewHelper classes or TCA overrides as needed: Make the site extension the single entry point of your Site configuration that provides all site specific settings!

Disabled Backend settings

Extension bolt adds default PageTsConfig that disallows adding new sys_template records in the backend, and it hides the PageTsConfig related fields when editing page records. Those defaults are added in ext_tables.php, they follow our best practices, but can be rewritten again if really needed.

License

The extension is licensed under GPL v2+, same as the TYPO3 Core. See the LICENSE file.

Sharing our expertise

Find more TYPO3 extensions we have developed that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.

b13/bolt 适用场景与选型建议

b13/bolt 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 211.08k 次下载、GitHub Stars 达 28, 最近一次更新时间为 2019 年 08 月 21 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「TYPO3 CMS」 「TypoScript」 「Integrators」 「Site Extension」 「Site Package」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 b13/bolt 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 b13/bolt 我们能提供哪些服务?
定制开发 / 二次开发

基于 b13/bolt 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 211.08k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 28
  • 点击次数: 14
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 28
  • Watchers: 12
  • Forks: 13
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2019-08-21