[TYPO3-english] TYPO3 6.2: News-list with catmenu and ajax

Bert Hiddink [BENDOO e-work solutions] hiddink at bendoo.nl
Thu Nov 6 20:09:08 CET 2014


Hello,

I am facing the following scenario:

Working on a multilingual, news-driven website with categories.

In list-mode, on the left I have a column with a catmenu (rendered by 
the snippet below, includes subcats and a counter, quite nice).
At the right, I have the news-items in list mode...

Now I would like to filter the news-list when clicking on a checkbox in 
front of every cat, based on this concept:
https://forge.typo3.org/projects/extension-news/wiki/List_view_filtered_by_category

However, I would like this to be done with ajax so that when selecting 
cats, only the list with news-items gets updated...

Hope you understand what I am looking for.
Any ideas or pointers will be highly appreciated!

Thanks in advance!
Bert


###########################
######## Filters ########
###########################
lib.filter.categories = COA
lib.filter.categories {
   10 = CONTENT
   10 {
     table = sys_category
     select {
       pidInList = {$categoriesPid}
       orderBy = sorting
       where = deleted=0 AND hidden=0
       andWhere.dataWrap = sys_language_uid={TSFE:sys_language_uid} AND 
parent=({GP:tx_news_pi1|overwriteDemand|categories})
     }
     renderObj = COA
     renderObj {
       stdWrap.wrap = <div class="filterblok filterblok{field:uid}">|</div>
       stdWrap.insertData=1
       10 = TEXT
       10 {
         wrap= <div class="titel"><div class="open"><i 
class="icon-pijl-blauw-boven-klein"></i></div><div class="dicht"><i 
class="icon-pijl-blauw-onder-klein"></i></div>|
       #  </div>
         field = title
       }

       20 = CONTENT
       20 {
         wrap=|</div>
         table = sys_category
         select {
           pidInList = {$categoriesPid}
           join = sys_category_record_mm ON (sys_category.uid = 
sys_category_record_mm.uid_foreign) JOIN tx_news_domain_model_news ON 
(tx_news_domain_model_news.uid = sys_category_record_mm.uid_local)
           andWhere.dataWrap = (sys_category.uid={field:uid}) AND 
tx_news_domain_model_news.deleted=0 AND 
tx_news_domain_model_news.hidden=0 AND 
sys_category.sys_language_uid={TSFE:sys_language_uid}
           selectFields = count(*) AS counter
         }
         renderObj = TEXT
         renderObj {
           field = counter
           wrap = &nbsp;(|)
         }
       }


       30 = CONTENT
       30 {
         stdWrap {
           required = 1
           wrap = <div class="filterinhoud filter{field:uid}">|</div>
           insertData=1
         }
         table = sys_category
         select {
           pidInList = {$categoriesPid}
           orderBy = sorting
           andWhere.dataWrap = parent=({field:uid}) AND deleted=0 AND 
hidden=0 AND sys_language_uid={TSFE:sys_language_uid}
         }
         renderObj = COA
         renderObj {
           11 < lib.filter.categories.10.renderObj.10
           11.wrap=<div class="keuze"><input type="checkbox" 
name="chbfilter" value="{field:uid}" id="chb{field:uid}" 
class="chbFilters"><label for="chb{field:uid}">|
           #</label></div>
           11.insertData=1
           12 < lib.filter.categories.10.renderObj.20
           12.wrap=|</label></div>

         }
       }
     }
   }
}

Adapted from: 
http://www.fiedomedia.de/news/artikel/typoscript-ttnews-catmenu-mit-news-counter/


More information about the TYPO3-english mailing list