定制 t3kit/t3kit-starter 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

t3kit/t3kit-starter

Composer 安装命令:

composer create-project t3kit/t3kit-starter

包简介

Starter point for t3kit project. t3kit and TYPO3 dependencies, folder structure, custom site configurations, local environment based on Docker, CI/CD configs

README 文档

README

t3kit logo

t3kit-starter

Starter point for a new project based on t3kit

t3kit documentation

Code Guidelines Local development environment

Table of contents

t3kit-starter

General info about t3kit project

About

t3kit-starter is a bunch of tools, configs, and best practices which should help you to kickstart new projects on a t3kit basis

What's included

  • Project folder structure
  • Composer configuration
  • t3kit and TYPO3 project dependencies
  • TYPO3 global configurations
  • TYPO3 context configurations
  • Custom site configurations
  • Local development environment based on Docker
  • Starter database
  • Tests
  • Code guidelines

Required dependencies

File structure

t3kit-starter/
├── .github/          # github actions
├── .localconf/
│   ├── community/   # community configuration for t3kit, not supported by t3kit team
│   ├── db/          # t3kit database manipulation - Setup/Restore/Pack
│   └── docker/      # t3kit local development config based on Docker
├── config/
├── extensions/      # Themes and other extensions belonging to this repository only
└── public/
    ├── typo3conf/
    │   ├── AdditionalConfiguration.php
    │   ├── LocalConfiguration.php
    │   └── PackageStates.php
    └── fileadmin/

Community configuration

We are open to any additional configuration on top of the t3kit. To add it just follow two rules below:

  1. It always should be inside .localconf/community/ folder
  2. t3kit team will not support it

Clean up the project

If there no needs to use t3kit starter database or Docker configuration for local development, then just delete folder .localconf from the root of your project rm -r .localconf

Quick start a new project on t3kit base (two options)

  1. Start with composer create-project

    composer create-project --no-dev --no-scripts --remove-vcs t3kit/t3kit-starter my-new-project v11.0.0-beta.2
  2. Or use as a template in GitHub (recommended). If you are using GitHub to store your future project, then you can just clone t3kit-starter as a template to your new project repository with Use this template green button in t3kit organization in the t3kit-starter repository.

Start with t3kit local development

  1. Check that nginx-proxy started

  2. git clone git@github.com:t3kit/t3kit-starter.git - Clone the repository

  3. composer env - Configure local development environment variables

    *Note: To continue with Docker based local development you need to create an environment .env file for your project based on an example local.env. You can create .env file by running: composer env as described above or cp .localconf/local.env .env.

    • Check all environment variables in .env file and change them if it needed
    • OS-specific settings in .env file
      • Linux
        • Uncomment USER_ID var and set up your host user id to make the shared folder writable. (Skip this step if you are a Mac user)
  4. composer i - Install composer dependencies, or run composer ci if you don't have PHP v8 as your main local environment

  5. npm install - Install npm dependencies

  6. npm run dev - Build development assests for themes

  7. docker compose up -d - Start all Docker services for a local development environment

  8. Setup t3kit starter database composer dbup

  9. Open t3kit11.t3.localhost in browser Google Chrome

  10. Open TYPO3 BE t3kit11.t3.localhost/typo3 ---> [user: admin, password: admin1234]

  11. Open TYPO3 Install tool t3kit11.t3.localhost/typo3/install.php ---> [password: admin1234]

Create your custom theme based on t3kit to extend the functionality.

extensions/theme_newcustomproject in this folder you can find an example of TYPO3 extension that can be a good starting point for extending the default t3kit theme. With this "subtheme" extension, you can change the design and add the necessary content elements while maintaining the main features of t3kit, and the ability to easily upgrade to newer versions of TYPO3 and t3kit.

Quick start

  1. Define a name for your new theme. For example, let's take the name mega

  2. Create a new extension based on theme_newcustomproject

    cp -r extensions/theme_newcustomproject extensions/theme_mega

    Note: Change the mega part in extensions/theme_mega to your real project neme

  3. Rename newcustomproject to your project name. In our example, we are using mega as a project name.

    • Mac
        grep -rl 'newcustomproject' extensions/theme_mega | xargs sed -i '' 's/newcustomproject/mega/g'
    • Linux
        grep -rl 'newcustomproject' extensions/theme_mega | xargs sed -i 's/newcustomproject/mega/g'

Note: Change the mega part in **/extensions/theme_mega and s/newcustomproject/mega/g to your real project neme

  1. Activate theme_mega extension

    • Install a new theme_mega extension
        composer co require typo3-local/theme-mega:dev-master
        npm install
        npm run dev
  2. Enable theme_mega for the site Site Management -> Sites -> Site Theme

Local development tools

t3kit database manipulation - Setup/Restore/Pack

  • Setup t3kit db: composer dbup
  • Restore t3kit db: composer dbre
  • Pack (save) t3kit db: composer dbp

phpMyAdmin

Run phpMyAdmin docker container and connect it to needed DB host

docker run --name pma -d -e PMA_ARBITRARY=1 --restart=unless-stopped --network nproxy -p 8083:80 phpmyadmin/phpmyadmin

nginx-proxy

nginx-proxy for t3kit11 project

For all t3kit projects, we need just a one nginx-proxy started as a separate Docker container. Based on Automated Nginx Reverse Proxy for Docker

Setup
git clone git@github.com:t3kit/t3kit-dockerhub.git
cd t3kit-dockerhub/nproxy
docker compose up -d

Community-contributed platforms

These platforms are not officially supported by the t3kit team.

t3kit/t3kit-starter 适用场景与选型建议

t3kit/t3kit-starter 是一款 基于 CSS 开发的 Composer 扩展包,目前已累计 420 次下载、GitHub Stars 达 3, 最近一次更新时间为 2019 年 05 月 20 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

围绕 t3kit/t3kit-starter 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 420
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 6
  • Forks: 4
  • 开发语言: CSS

其他信息

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