heimrichhannot/contao-newsnavigation-bundle

提供新闻文章之间导航的包

2.0.3 2023-04-26 11:15 UTC

This package is auto-updated.

Last update: 2024-08-26 13:58:39 UTC


README

这是一个提供新闻文章之间简单导航的 contao 包。它添加模板变量,以便从一个新闻文章跳转到下一个或上一个文章。新闻文章的顺序是根据时间属性计算的。

功能

  • 向 NewsReaderModule 添加模板变量,以便在新闻文章之间跳转
  • 可选:尊重在 NewsReaderModule 中设置的新闻存档
  • 通过服务添加自定义过滤器

要求

  • Contao 4.4(也可能与较早的 Contao 4 版本兼容)

安装

通过 composer 安装

composer require heimrichhannot/contao-newsnavigation-bundle

使用方法

模板变量

要使用此扩展,您需要在自定义新闻模板中输出模板变量。

示例

<?php if ($this->previousArticle): ?>
    <a href="{{news_url::<?= $this->previousArticle ?>}}" class="previous">
        <?= $this->previousArticleLabel ?>
    </a>
<?php endif; ?>

新闻存档

要使导航仅尊重在 NewsReaderModule 中设置的新闻存档,您可以在模块后端找到此选项。

开发者

模板变量

此扩展向新闻模板模型添加以下模板标签,您可以在模板中使用这些标签:

如果您想使用新闻标题而不是下一个/上一个文章标签,请参阅 #1 了解如何进行此操作。

自定义过滤器

该模块允许一个简单的机制来添加新闻导航的自定义过滤器。您需要在调用 NewsReaderModel 的 parseArticles 钩子(来自此模块)之前将额外的过滤器设置到 huh.newsnavigation.newsfilter。您可以使用以下方法:

示例

// add additional database conditions
System::getContainer()->get('huh.newsnavigation.newsfilter')->addFilter('tl_news.newsCategory=?', 'contao4bundles');
// add additions options
System::getContainer()->get('huh.newsnavigation.newsfilter')->setOption('limit', '5');

自定义过滤器使用

您可以使用过滤器以自定义的方式进行使用。

$filter = System::getContainer()->get('huh.newsnavigation.newsfilter');

// Creates a new filter object which contains all filters
$newFilter = $filter->createCopy();

// Create a new empty newsfilter instance
$newFilter = new HeimrichHannot\NewsNavigationBundle\NewsFilter\NewsFilter();

// Return the filter rules
$filter->getColumns()
$filter->getValues()
$filter->getOptions()

// Override filter rules
$filter->setColumns();
$filter->setValues();
$filter->setOptions();

// Change or return model
$filter->setModel();
$filter->getModel();