Показать последнюю запись новостей в TX_News

У меня есть просмотр списка и плагин подробного просмотра tx_news на той же странице. Когда я захожу на страницу без параметра news-id, вместо этого я хотел бы показать последнюю запись новостей. Есть ли способ сделать это?

Я обнаружил, что запрос на эту функцию был отклонен здесь: https://forge.typo3.org/issues/67012


person Jpsy    schedule 17.11.2015    source источник


Ответы (1)


Решение содержится в документации. Я не нашел его там, пока сам не разобрался с большей частью и не искал конкретный метод, который мне нужен (useStdWrap). Вот:

https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/BestPractice/IntegrationWithTypoScript/Index.html#fallback-in-detail-view-if-no-news-found

# TS SETUP:
plugin.tx_news.settings {
        overrideFlexformSettingsIfEmpty = singleNews,cropMaxCharacters,dateField,timeRestriction,orderBy,orderDirection,backPid,listPid,startingpoint
        useStdWrap = singleNews

        singleNews.stdWrap.cObject = CONTENT
        singleNews.stdWrap.cObject {
                table = tx_news_domain_model_news
                select {
                        max = 1
                        orderBy = datetime
                        # ENTER PID OF YOUR NEWS RECORDS HERE
                        pidInList = 3
                }
                renderObj = TEXT
                renderObj.field = uid
        }
}

Этот код НЕ включает возможность фильтрации по категориям и ЗАПИСЫВАЕТ любые существующие списки конфигурации в overrideFlexformSettingsIfEmpty и useStdWrap.

Если вам нужна фильтрация по категориям и/или вы хотите быть менее разрушительным в двух списках конфигурации, вот расширенный пример:

# TS SETUP:
plugin.tx_news.settings {
        overrideFlexformSettingsIfEmpty := addToList(singleNews)
        useStdWrap := addToList(singleNews)

        singleNews.stdWrap.cObject = CONTENT
        singleNews.stdWrap.cObject {
                table = tx_news_domain_model_news
                select {
                        max = 1
                        orderBy = datetime
                        # ENTER PID OF YOUR NEWS RECORDS HERE
                        pidInList = 3
                        join = sys_category_record_mm ON (tx_news_domain_model_news.uid = sys_category_record_mm.uid_foreign)
                        # ENTER UID OF YOUR CATEGORY HERE (look it up in table sys_category)
                        where = sys_category_record_mm.uid_local = 2
                }
                renderObj = TEXT
                renderObj.field = uid
        }
}
person Jpsy    schedule 18.11.2015