itplusx / flexible-news

将页面作为新闻文章使用的灵活新闻扩展

安装: 61

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

语言:HTML

类型:typo3-cms-extension

v2.0.0 2021-11-15 15:57 UTC

This package is auto-updated.

Last update: 2024-09-14 20:21:18 UTC


README

TYPO3 EXT:flexible_news

TYPO3 扩展 flexible_news

License: MIT

在 TYPO3 中创建基于普通页面的新闻文章,并在前端以列表形式显示。

使用页面而不是记录具有以下优点

  • 无需额外 TCA
    由于此扩展使用 TYPO3 的默认页面及其 TCA 字段,因此不需要额外的 TCA 字段声明。(除非您需要额外的字段)
  • 无需额外数据库表
    此扩展仅使用 pages 表,因此不需要额外的表。这可以防止数据库因额外的表和字段而膨胀。
  • 无需 routeEnhancers 烦恼
    新闻文章的 URL 将表示页面树,并且将自动工作。无需添加 routeEnhancers。每篇文章的 slug 可以通过 slug 字段进行更改,且不绑定到文章标题。
  • 使用可用的内容元素构建灵活的文章,而不受预定义标记的限制
    当使用记录作为新闻文章时,每篇文章的标记在模板中预先定义。
    而使用页面作为新闻,每篇文章都可以使用内容元素以不同的方式构建,而不受固定模板的限制。

此扩展利用 EXT:flexible_pages 创建自定义 "新闻" 页面类型和列表内容元素的模板。

安装

扩展安装

使用 composer 安装(推荐)

composer require itplusx/flexible_news

使用 TYPO3 扩展管理器 安装

TYPO3 扩展管理器 中使用扩展密钥 flexible_news

注意:此扩展需要安装 EXT:flexible_pages

包含 TypoScript

基本 TypoScript

安装成功后,只需包含新闻列表 CE 的 TypoScript 即可。

CSS TypoScript(可选)

如果您想使用此扩展提供的新闻列表 CE 的 CSS,您还必须包含 Flexible News CSS(可选) TypoScript。

用法

安装正确后,您应该在 TYPO3 后端的页面树上方看到一个新图标。从那里,您只需将其拖到页面树中即可,就像其他任何页面一样。

注意:如果您一开始看不到该图标,请尝试清除缓存并重新加载整个页面。

列表视图

您可以将 “所选 doktypes 的页面” 内容元素添加到每个页面,以便在前端通过 doktype 显示文章列表。内容元素已自带“新闻”模板以相应地渲染列表。

覆盖列表模板

您可以通过扩展 FLUIDTEMPLATE 的 rootPaths 来覆盖列表 CE 模板。您可以在自己的扩展中通过扩展 lib.contentElement TypoScript 来实现(如此处所述)或使用 flexible_news 提供的常量。

  • plugin.tx_flexiblenews.templateRootPath
  • plugin.tx_flexiblenews.partialRootPath
  • plugin.tx_flexiblenews.layoutRootPath

扩展列表模板

当需要更多新闻列表模板时(例如无图片的新闻列表),可以扩展模板选择。

请参阅 EXT:flexible_pages 的文档或查看在 flexible_news 中如何实现“新闻”模板

详细视图

详细视图只是页面的视图(使用默认页面模板)。然而,有时可能非常有用为新闻文章创建一个特殊的页面模板(例如,在每篇新闻文章上显示特定内容)。

添加新闻文章页面模板

假设您想要在每篇新闻文章中添加社交媒体分享按钮,您需要执行以下操作。

  • 为特殊 dokType 添加 TypoScript 以覆盖 FLUIDTEMPLATE
[page["doktype"] == 87]
    page.10 {
        templateName >
        templateName = News

        variables {
            socialMediaShare =< lib.socialMediaShare
        }
    }
[GLOBAL]
  • 将之前定义的变量添加到模板文件中,分享按钮应出现的地方
    <f:format.html parseFuncTSPath="">{socialMediaShare}</f:format.html>

贡献

欢迎对这个项目提供任何帮助!无论是代码贡献还是改进的想法。但我们会要求您遵守一些规则

  • 问题
    添加问题请始终尽可能详细地描述错误/功能/任务。仅提供标题是不够的。请使用问题模板。
  • 提交
    我们的团队遵循 Conventional Commits。我们希望您在想要贡献时遵守这些规则。
  • 拉取请求
    在提交 PR 之前,请先创建一个问题并链接到拉取请求或至少添加一个包含此 PR 所做详细信息的 PR 描述。否则,我们无法决定此 PR 是否值得进入主分支。

ITplusX - Internetagentur & Systemhaus