maispace/base
Composer 安装命令:
composer require maispace/base
包简介
Base foundation extension for Maispace TYPO3 projects. Provides shared TypoScript configuration, page layout definitions, and pulls in all TYPO3 backend/infrastructure extensions that the project requires. Mail dispatch is handled by `mai_mail` — no external mail queue package is declared here.
README 文档
README
Base foundation extension for Maispace TYPO3 projects. Provides shared TypoScript configuration, page layout definitions, and pulls in all TYPO3 backend/infrastructure extensions that the project requires. Mail dispatch is handled by mai_mail — no external mail queue package is declared here.
Requires: TYPO3 13.4 LTS / 14.1 · PHP 8.2+
Installation
composer require maispace/mai-base
Development
Linting
composer lint:check # Run all linters composer lint:fix # Fix auto-fixable issues
Testing
composer test # Run all tests composer test:unit # Run unit tests only
Shared Icon Contract
mai_base provides three generic SVG icons that every other maispace extension uses as
its default backend icons. Extensions depend on mai_base being loaded first; the icons
and their pre-registered TYPO3 identifiers are then available globally.
Icon files
| File | Purpose |
|---|---|
EXT:mai_base/Resources/Public/Icons/generic_table.svg |
Default record/table icon — shown in list-module rows |
EXT:mai_base/Resources/Public/Icons/generic_content.svg |
Default content-element / plugin icon — shown in the page module |
EXT:mai_base/Resources/Public/Icons/generic_backend_module.svg |
Default backend module icon — shown in the module navigation |
Pre-registered identifiers
mai_base/Configuration/Icons.php registers the following identifiers globally the moment
the extension is loaded. Downstream extensions must not redeclare these identifiers.
| Identifier | Points to |
|---|---|
mai-table |
generic_table.svg |
mai-content |
generic_content.svg |
mai-backend-module |
generic_backend_module.svg |
mai-extension |
extension.svg |
Usage patterns
1 — TCA record icon (->setIconFile())
Use the raw SVG path directly in the TCA builder chain:
// Configuration/TCA/tx_myext_myrecord.php $builder ->setLabel('title') ->setIconFile('EXT:mai_base/Resources/Public/Icons/generic_table.svg');
Alternatively, register an extension-specific identifier in Configuration/Icons.php
pointing to the shared source, then reference that identifier from TCA:
// Configuration/Icons.php return [ 'tx_myext_myrecord' => [ 'provider' => \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, 'source' => 'EXT:mai_base/Resources/Public/Icons/generic_table.svg', ], ];
2 — Content element / plugin icon
Pass the pre-registered 'mai-content' identifier when registering a CType:
// Configuration/TCA/Overrides/tt_content.php (new CType('maispace_myplugin', $lang('ctype.myplugin'), 'mai-content')) ->addDefaultHeaderPalette() ->register();
3 — Backend module icon
Set iconIdentifier to the pre-registered 'mai-backend-module' value:
// Configuration/Backend/Modules.php return [ 'mai_myext' => [ 'parent' => 'tools', 'iconIdentifier' => 'mai-backend-module', // … ], ];
Rules
- Use the shared icons during extension scaffolding — creating a unique icon per extension is optional and only required once a distinct visual identity is needed.
- Never re-register
mai-table,mai-content,mai-backend-module, ormai-extensionin a downstream extension — themai-*namespace is reserved formai_base. - Never declare
scssphp/scssphporsymfony/mailerin this extension — see the architecture constraints inAGENTS.md.
License
GPL-2.0-or-later — see LICENSE for details.
maispace/base 适用场景与选型建议
maispace/base 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 maispace/base 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 maispace/base 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 27
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2026-02-28