[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 = (|)
}
}
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