После того, как я понял, что решение Джо не работает для меня, у меня появилась другая идея:
lib.field_dmnewsplugin = COA
lib.field_dmnewsplugin {
10 = CONTENT
10 {
table = tx_news_domain_model_news
select {
selectFields = title, teaser, count(uid) AS counter
leftjoin = sys_category_record_mm ON (sys_category_record_mm.uid_foreign = tx_news_domain_model_news.uid) AND sys_category_record_mm.uid_local IN ({14,###maincat###)
pidInList = 124
max = 1
groupBy = uid
orderBy = counter DESC, crdate DESC
#where = counter > 1
markers {
maincat.value = 16
}
}
renderObj = COA
renderObj {
10 = COA
10 {
stdWrap {
if {
value = 1
isGreaterThan.data = field:counter
#equals.data = field:counter
}
required = 1
wrap = <h2>Some Headline</h2>
}
10 = USER
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = News
pluginName = Pi1
vendorName = GeorgRinger
switchableControllerActions {
News {
1 = list
}
}
settings < plugin.tx_news.settings
settings {
cropMaxCharacters = 164 | [...] | 1
categoryConjunction = and
categories = 14,16
excludeAlreadyDisplayedNews = 1
archiveRestriction = active
[...]
Проблема в том, что мы не можем использовать псевдоним "counter" в предложении where иЯ понятия не имею, как я могу решить проблему с опечаткой.С нативным SQL может быть лучший способ.
Но я могу получить значение "counter", чтобы создать правило "if".И кроме того, я могу отсортировать запрос по «счетчику».Таким образом, если запрос возвращает хотя бы одно попадание с «счетчиком» больше 1, я могу решить отобразить объект COA как представление списка новостей с заголовком.
Я удовлетворен этим решением.Но, может быть, у кого-то есть специальный трюк для меня?
Спасибо за вашу помощь,
Ральф