srhinow/teaser-manager 问题修复 & 功能扩展

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

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

srhinow/teaser-manager

Composer 安装命令:

composer require srhinow/teaser-manager

包简介

Teaser-Boxen zentral verwalten für das Contao CMS

README 文档

README

Contao-Bundle zur zentralen Verwaltung von Teaser-Boxen mit Teaser-Gruppen und Kategorien. Inhalte werden einmalig als Teaser angelegt, in Gruppen zusammengefasst und über Seiten-Whitelist oder Seiten-Blacklist gezielt im Frontend ausgespielt.

Anforderungen

AbhängigkeitVersion
PHP^8.3
Contao Core Bundle^5.3

Installation

composer require srhinow/teaser-manager

Nach der Installation die Datenbank-Migration ausführen:

php bin/console contao:migrate

Backend

Das Bundle registriert zwei Backend-Module unter der Gruppe Inhalte:

Teaser (tm_teaser)

Verwaltung einzelner Teaser-Datensätze. Jeder Teaser enthält interne Metadaten (Bezeichnung, Kategorie, Status) und wird über untergeordnete Inhaltselemente (tl_content) mit Inhalten befüllt.

  • Tabellen: tl_teaser, tl_content

Teaser-Gruppen (tm_teaser_group)

Zusammenstellung ausgewählter Teaser zu einer Gruppe sowie Zuweisung an Seiten. Von hier aus können auch die Teaser-Kategorien verwaltet werden.

  • Tabellen: tl_teaser_group, tl_teaser_categories

Datenbankstruktur

tl_teaser

SpalteTypBeschreibung
idint(10) unsigned PK AIPrimärschlüssel
tstampint(10) unsignedZeitstempel letzte Änderung
dateAddedint(10) unsignedErstellungsdatum
internTitlevarchar(255)Interne Bezeichnung (Pflichtfeld)
cssIDvarchar(255)CSS-ID und CSS-Klassen
categoryvarchar(25)Kategoriezuordnung (Pflichtfeld)
teaser_templatevarchar(32)Zugewiesenes Template (Standard: tm_teaser_default)
featuredchar(1)Hervorgehoben-Flag
activechar(1)Aktiv/Inaktiv-Status

Indizes: id (PRIMARY), active (INDEX)

tl_teaser_group

SpalteTypBeschreibung
idint(10) unsigned PK AIPrimärschlüssel
tstampint(10) unsignedZeitstempel letzte Änderung
dateAddedint(10) unsignedErstellungsdatum
internTitlevarchar(255)Interne Bezeichnung (Pflichtfeld)
inContainervarchar(64)Teaser-Kategorie (→ tl_teaser_categories.name, Pflichtfeld)
teaserblobAusgewählte Teaser-IDs (serialisiert)
custom_pageschar(1)Aktiviert Seiten-Whitelist
pagesblobSeiten-Whitelist (serialisierte Seiten-IDs)
exceptionschar(1)Aktiviert Seiten-Blacklist
exceptions_pagesblobSeiten-Blacklist (serialisierte Seiten-IDs)
featuredchar(1)Hervorgehoben-Flag
activechar(1)Aktiv/Inaktiv-Status

Seitenzuweisungs-Logik:

  • custom_pages = 0: Gruppe wird auf allen Seiten angezeigt.
  • custom_pages = 1: Gruppe wird nur auf den in pages gelisteten Seiten angezeigt.
  • exceptions = 1: Die in exceptions_pages gelisteten Seiten werden ausgeschlossen.

tl_teaser_categories

SpalteTypBeschreibung
idint unsigned PK AIPrimärschlüssel
sortingint unsignedSortierreihenfolge
tstampint unsignedZeitstempel
modifyint unsignedReserviertes Änderungsdatum
namevarchar(255)Kategoriename (Pflichtfeld)
aliasvarchar(128)Alias/Slug

Standard-Kategorien (automatisch bei erster Migration angelegt):

AliasName
sidebarSeitenleiste
msgbarHinweisbereich
main_teaserTeaser im Hauptbereich

Inhaltselemente

tm_teaser_element — Teaser-Element

Wird innerhalb eines Teaser-Datensatzes als Inhaltselement verwendet. Ermöglicht das Befüllen mit Überschrift, Text, Bild und Link.

Zusatzfelder in tl_content:

FeldTypBeschreibung
addTeaserImagebooleanBild aktivieren (klappt Subpalette singleSRC auf)
addLinkbooleanLink aktivieren (klappt url, titleText, target auf)
imgSizevarchar(64)Bildgröße

Template: tm_teaser_element.html.twig

tm_teaser — Einzelner Teaser

Content-Element: Gibt einen per Dropdown ausgewählten Teaser im Frontend aus.

Template: tm_teaser.html.twig

tm_teaser_group — Teaser-Gruppe

Content-Element: Gibt alle Teaser einer ausgewählten Teaser-Gruppe aus.

Template: tm_group.html.twig

Frontend-Modul

teaser_group_module — Teaser-Gruppe

Liest automatisch alle aktiven Teaser-Gruppen der gewählten Kategorie für die aktuelle Seite und rendert diese. Die Whitelist/Blacklist-Seitenzuweisung wird vollautomatisch ausgewertet.

Zusatzfelder in tl_module:

FeldTypBeschreibung
tm_inContainervarchar(64)Teaser-Kategorie (→ tl_teaser_categories.name)
tm_teaser_groupsint(10)Alternative: Direkte Auswahl einer Teaser-Gruppe

Template: tm_group.html.twig

Templates

tm_teaser_element.html.twig

Rendert ein einzelnes Teaser-Inhaltselement.

VariableTypBeschreibung
classstringCSS-Klassen (inkl. featured wenn hervorgehoben)
headlinestringÜberschrift
hlstringÜberschriften-Tag (z. B. h2)
textstringTeaser-Text (HTML, \|raw ausgeben)
addLinkboolLink aktiv?
urlstringLink-URL
titleTextstringLink-Titel (title-Attribut)
targetboolIn neuem Tab öffnen?
addTeaserImageboolBild aktiv?
teaserImagestringGerendertes Bild-HTML (\|raw)

tm_teaser.html.twig

Wrapper für das Content-Element tm_teaser. Gibt {{ teaser | raw }} aus.

tm_group.html.twig

Wrapper für Content-Element tm_teaser_group und das Frontend-Modul. Gibt alle Teaser der Gruppe als {{ teaser | raw }} aus.

Migrationen

PopulateTeaserCategoriesMigration

Legt beim ersten Start die drei Standard-Kategorien in tl_teaser_categories an, sofern die Tabelle leer ist.

TeaserToContentElementMigration

Migriert bestehende Legacy-Teaser-Daten (alte Felder headline, text, image, url, linkTitle direkt in tl_teaser) automatisch in neue tm_teaser_element-Inhaltselemente in tl_content.

Changelog

Alle Änderungen sind in CHANGELOG.md dokumentiert.

Lizenz

LGPL-3.0-or-later

Autor

Sven Rhinowsr-tag.de
Support: kservice@sr-tag.de
Quellcode: gitlab.com/srhinow/teaser-manager

srhinow/teaser-manager 适用场景与选型建议

srhinow/teaser-manager 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 202 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 06 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2019-06-12