Skip to main content

Підрахунок та вивід кількості записів у категорії засобами TypoScript


  • Опубліковано
  • Василь Мосійчук
  • Категорії зразків коду
  • TypoScript8

Даний приклад показує кількість записів новин, чи то постів у блозі приєднаних до відповідного пункту меню, чи то категорії записів.

Media type - image/168

Нижче показаний TypoScript працює при наявності в системі TYPO3 його додатку, а саме "tt_news".

Даний TypoScript робить вибірку категорій, які розміщені на сторінці, підраховує кількість прив'язаних до них записів, а потім це все виводить на сторінку у тому місці де це вам потрібно.

temp.TYPO3_Snippet = CONTENT
temp.TYPO3_Snippet {
    table = tt_news_cat
    select {
        pidInList = 1
        where = parent_category = 2
        orderBy = uid
    }
    renderObj = COA
    renderObj {
        10 = LOAD_REGISTER
        10.categoryUid.cObject = TEXT
        10.categoryUid.cObject.field = uid
        20 = TEXT
        20 {
            stdWrap.cObject = COA
            stdWrap.cObject {
                10 = TEXT
                10.field = title
                20 = CONTENT
                20.table = tt_news
                20.select {
                    pidInList = 84
                    recursive = 1
                    selectFields = count(*) AS uid
                    where = NOT deleted AND NOT hidden
                    andWhere.data = register:categoryUid
                    andWhere.wrap = tt_news_cat_mm.uid_foreign = |
                    join = tt_news_cat_mm ON (tt_news_cat_mm.uid_local = tt_news.uid)
                }
                20.renderObj = TEXT
                20.renderObj.field = uid
                20.stdWrap.noTrimWrap = | [|]|
            }
            typolink {
                parameter.field = shortcut
                ATagParams = class="typo3_snippet"
            }
            if {
                equals.field = shortcut
                value.data = page:uid
                negate = 1
            }
            wrap = |
        }
        30 < .20
        30.if.negate = 0
        30.typolink.ATagParams = class="typo3_snippet active"
    }
    wrap = <div class="typo3_menu_left">|</div>
}
Назад до списку "Зразки коду"