heimrichhannot / contao-newsnavigation-bundle
提供新闻文章之间导航的包
2.0.3
2023-04-26 11:15 UTC
Requires
- php: ^7.0 | ^8.0
- contao/core-bundle: ^4.4.0
Requires (Dev)
- contao/manager-plugin: ^2.0
- friendsofphp/php-cs-fixer: ^2.2
- phpunit/phpunit: ^6.0
- satooshi/php-coveralls: ^1.0
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();