在扩展新闻的列表视图中,我们需要更改排序顺序和排序方向的链接。是否可以通过get参数同时更改两者? 我取消选中了“禁用替代需求”选项,并尝试了
?tx_news_pi1[orderDirection]=asc
?tx_news_pi1[settings][orderDirection]=asc
但是这不起作用。
谢谢!
答案 0 :(得分:2)
tx_news_pi1[overwriteDemand][order]=title desc
为我工作
答案 1 :(得分:0)
也许尝试:
tx_news_pi1 [overwriteDemand] [orderDirection] = asc
(虽然我不太确定orderDirection是否正确,但mayb可以检查手册/代码)
答案 2 :(得分:0)
据我所知,在流体模板中没有包括排序的直观选择,因为所有排序都是在TypoScript或FlexForm级别完成的。
不过,有多种方法可以从前端进行排序:
在TypoScript中,您可以根据当前的URL参数设置排序参数,最简单的方法是通过条件来解决它,而且您还可以自由定义自己的参数而不必遵循news-API 。
在任何情况下,都应该使用viewHelper创建用于排序的URL,该cHash始终会被附加并正确计算。
TypoScript:
####### ## Here you transfer the URL-parameters for sorting to the TypoScript-settings ## and also assure that only predefined values are accepted ####### [globalVar = _GET|tx_news_pi1|orderBy = title] plugin.tx_news.settings.orderBy = title [globalVar = _GET|tx_news_pi1|orderBy = datetime] plugin.tx_news.settings.orderBy = datetime [globalVar = _GET|tx_news_pi1|orderBy = tstamp] plugin.tx_news.settings.orderBy = tstamp [globalVar = _GET|tx_news_pi1|orderBy = crdate] plugin.tx_news.settings.orderBy = crdate [global] [globalVar = _GET|tx_news_pi1|sort = desc] plugin.tx_news.settings.orderDirection = desc [else] plugin.tx_news.settings.orderDirection = asc [global]
流体:
<f:link.action action="list" addQueryString="&tx_news_pi1[orderBy]=title&tx_news_pi1[sort]=asc">Sort by title: asc</f:link.action> <f:link.action action="list" addQueryString="&tx_news_pi1[orderBy]=title&tx_news_pi1[sort]=desc">Sort by title: desc</f:link.action>
此解决方案未经测试,可能仍需要进行一些调整,但总的来说应该可以使用。
一般认为与缓存有关的问题与新闻记录相同,至少与任何必需的设置有关。
按其他字段排序需要执行以下步骤: https://docs.typo3.org/typo3cms/extensions/news/DeveloperManual/ExtendNews/ExtendFlexforms/Index.html#selectbox-sort-by
其他单独的解决方案需要使用PHP进行编程,并且可以基于钩子和信号,新闻手册包括可能有用的几章:
此外,可能已有一些扩展已解决排序工作,但我不知道。您可以搜索news-related extensions。我可以想象eventnews或dataviewer可能有用,但我从未检查过,这些扩展名对此也根本没有用。
另外,您有可能在进一步的搜索中发现另一个有用的扩展。如果是这样,请告诉我们;-)
然后,还有一种选择可以以某种方式解决所需的行为,也许是没有记录或记录不好,或者我错过了。
请考虑,如果您使用分页,尤其是AJAX based pagination,则可能仍需要进行一些调整。
答案 3 :(得分:0)
我找到了问题的原因并解决了。
原因是flexform中的默认排序:按标题排序。 GET-Parameter orderBy无法覆盖flexform中的默认排序。如果您在flexform中选择默认排序,则orderBy参数ist会被忽略,但orderDirection参数会按预期工作。结果令人困惑,但始终如一:内容ist始终按默认排序方式进行排序,但具有不同的sortOrders。
在flexform中删除默认排序后,所有工作均按预期进行。
我认为这是一种错误;我将在新闻的错误跟踪器中发布一个问题。