版本:
TYPO3 10.4.18,新闻8.5.2
问题:
我需要生成多个XML站点地图,其中所有新闻都来自一个文件夹ID,它们需要根据不同的类别链接到不同的新闻细节页面。
根据文档,我需要使用扩展的sitemap GeorgRinger\News\Seo\NewsXmlSitemapDataProvider,它还声明如下:
您需要使用自定义提供程序来获取来自此类别sys_category的新闻的单视图页面。
它还指出:
若要启用类别详细信息页处理,请在以下完整示例中签出设置
useCategorySinglePid = 1:
plugin.tx_seo {
config {
xmlSitemap {
sitemaps {
news {
provider = GeorgRinger\News\Seo\NewsXmlSitemapDataProvider
config {
excludedTypes = 1,2
additionalWhere =
## enable these two lines to generate a Google News sitemap
# template = EXT:news/Resources/Private/Templates/News/GoogleNews.xml
# googleNews = 1
sortField = datetime
lastModifiedField = tstamp
pid = 84
recursive = 2
url {
pageId = 116
useCategorySinglePid = 1
hrDate = 0
hrDate {
day = j
month = n
year = Y
}
fieldToParameterMap {
uid = tx_news_pi1[news]
}
additionalGetParameters {
tx_news_pi1.controller = News
tx_news_pi1.action = detail
}
useCacheHash = 1
}
}
}
}
}
}
}在上面的代码中,我可以看到,在pid中,pageId是存储详细页面的地方。useCategorySinglePid启用类别详细信息页处理。那么,我应该如何以及在哪里定义应该在站点地图中显示的特定类别呢?我必须使用additionalWhere来定义它吗?文档试图解释需要做什么的方式是相当混乱的。任何帮助都是非常感谢的。
发布于 2022-03-24 13:41:47
我也有同样的问题。我试图找到解决办法,但没有成功。
最后,我有这样的事情:
additionalWhere = uid IN (SELECT uid_foreign FROM sys_category_record_mm WHERE uid_local=14)其中uid_local是范畴的uid。在库尔特的帮助下解决了,谢谢。
plugin.tx_seo.config {
xmlSitemap {
sitemaps {
innovationen {
provider = GeorgRinger\News\Seo\NewsXmlSitemapDataProvider
config {
additionalWhere = uid IN (SELECT uid_foreign FROM sys_category_record_mm WHERE uid_local=11)
sortField = sorting
lastModifiedField = tstamp
pid = 156
recursive = 2
url {
pageId = 157
useCategorySinglePid = 1
fieldToParameterMap {
uid = tx_news_pi1[news]
}
additionalGetParameters {
tx_news_pi1.controller = News
tx_news_pi1.action = detail
}
useCacheHash = 0
}
}
}
trends {
provider = GeorgRinger\News\Seo\NewsXmlSitemapDataProvider
config {
additionalWhere = uid IN (SELECT uid_foreign FROM sys_category_record_mm WHERE uid_local=12)
sortField = sorting
lastModifiedField = tstamp
pid = 156
recursive = 2
url {
pageId = 160
useCategorySinglePid = 1
fieldToParameterMap {
uid = tx_news_pi1[news]
}
additionalGetParameters {
tx_news_pi1.controller = News
tx_news_pi1.action = detail
}
useCacheHash = 0
}
}
}
}
}https://stackoverflow.com/questions/68497052
复制相似问题