Логотип Української TYPO3 громади
 
Українська TYPO3 громада
Головна ⁄ Документація ⁄ Сніппети (Snippets) ⁄ 
Вивід заголовока сторінки за вказаним індентифікатором →



24.08.2011 ⁄ 13:18
Давність: 6 років
Категорія: TypoScript
Автор: ІА TYPO3.net.ua
Зберігаю ваш оцінку...
Рейтинг: 5.0 з 5. 5 голос(ів).
Щоб оцінити, натисніть на шкалу рейтингу.

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

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


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

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

  1. temp.TYPO3_Snippet = CONTENT
  2. temp.TYPO3_Snippet {
  3. table = tt_news_cat
  4. pidInList = 1
  5. where = parent_category = 2
  6. orderBy = uid
  7. }
  8. renderObj = COA
  9. renderObj {
  10. 10.categoryUid.cObject = TEXT
  11. 10.categoryUid.cObject.field = uid
  12. 20 = TEXT
  13. 20 {
  14. stdWrap.cObject = COA
  15. stdWrap.cObject {
  16. 10 = TEXT
  17. 10.field = title
  18. 20 = CONTENT
  19. 20.table = tt_news
  20. 20.select {
  21. pidInList = 84
  22. recursive = 1
  23. selectFields = count(*) AS uid
  24. where = NOT deleted AND NOT hidden
  25. andWhere.data = register:categoryUid
  26. andWhere.wrap = tt_news_cat_mm.uid_foreign = |
  27. join = tt_news_cat_mm ON (tt_news_cat_mm.uid_local = tt_news.uid)
  28. }
  29. 20.renderObj = TEXT
  30. 20.renderObj.field = uid
  31. 20.stdWrap.noTrimWrap = | [|]|
  32. }
  33. parameter.field = shortcut
  34. ATagParams = class="typo3_snippet"
  35. }
  36. if {
  37. equals.field = shortcut
  38. value.data = page:uid
  39. negate = 1
  40. }
  41. wrap = |
  42. }
  43. 30 < .20
  44. 30.if.negate = 0
  45. 30.typolink.ATagParams = class="typo3_snippet active"
  46. }
  47. wrap = <div class="typo3_menu_left">|</div>
  48. }