georgringer/news-filter

通过日期、类别和标签过滤新闻

2.1.0 2024-02-27 20:21 UTC

This package is auto-updated.

Last update: 2024-08-27 21:28:07 UTC


README

此扩展使您能够在前端通过以下属性过滤新闻

  • 日期从 & 到
  • 类别
  • 标签

此扩展已由巴塞尔大学赞助

需求

  • TYPO3 11.5 或 12.4
  • EXT:news 11.x

用法

  1. 像其他扩展一样安装此扩展。可以使用扩展管理器或composer和composer require georgringer/news-filter
  2. 在新闻插件中选择“列表”操作并激活“启用过滤”复选框。
  3. 选择包含类别和标签的文件夹。

TypoScript

需要以下TypoScript

plugin.tx_news.settings.demandClass = GeorgRinger\NewsFilter\Domain\Model\Dto\Demand

模板化

将以下部分添加到您的News/List.html

	<f:form action="list" object="{extendedVariables.searchDemand}" name="search" class="form-horizontal">
		<fieldset>
			<div class="form-group">
				<label for="news-subject"><f:translate key="search-subject" /></label>
				<f:form.textfield id="news-subject" property="subject" class="form-control"/>
			</div>
			<div class="form-group">
				<f:for each="{extendedVariables.categories}" as="category">
					<div class="checkbox">
						<label>
							<f:form.checkbox property="filteredCategories" value="{category.uid}"/>
							{category.title}
						</label>
					</div>
				</f:for>
			</div>
			<div class="form-group">
				<f:for each="{extendedVariables.tags}" as="tag">
					<div class="tag">
						<label>
							<f:form.checkbox property="filteredTags" value="{tag.uid}"/>
							{tag.title}
						</label>
					</div>
				</f:for>
			</div>

			<div class="form-group">
				<label for="fromDate" class="col-sm-2 control-label">Date from</label>
				<div class="col-sm-10">
					<f:form.textfield type="date" class="form-control" id="fromDate" property="fromDate"/>
				</div>
			</div>
			<div class="form-group">
				<label for="toDate" class="col-sm-2 control-label">Date to</label>
				<div class="col-sm-10">
					<f:form.textfield type="date" class="form-control" id="toDate" property="toDate"/>
				</div>
			</div>

			<f:form.submit value="submit" class="btn btn-primary"/>
		</fieldset>
	</f:form>

排序类别和标签

plugin.tx_news {
	settings {
		filterCategoriesOrderBy = title
		filterCategoriesOrderDirection = asc

		filterTagsOrderBy = title
		filterTagsOrderDirection = asc
	}
}