[TYPO3] counting subpages recursivly?

Peter Klein peter at umloud.dk
Sun Jun 24 01:01:50 CEST 2007


Small fix.

This part (Inside the LOAD_REGISTER object):

     20 = TEXT
     20.field = uid

should be:

     20 = TEXT
     20.data = field:uid

--
Peter Klein / Umloud Untd.

"Peter Klein" <peter at umloud.dk> wrote in message 
news:mailman.1.1182639465.12252.typo3-english at lists.netfielders.de...
> Hi Bernd.
> This can be done by creating a list of page ids for subpages and their 
> subpages. In the example below the list of ids for each level is stored in 
> a seperate register value.
>
> -- cut --
> lib.subcountmenu = COA
> lib.subcountmenu {
> 10 = HMENU
> 10.1 = TMENU
> 10.1 {
>  expAll = 1
>  wrap = <ul>|</ul>
>  NO {
>   stdWrap.cObject = COA
>   stdWrap.cObject {
>    10 = LOAD_REGISTER
>    10.level1uids.cObject = COA
>    10.level1uids.cObject {
>     10 = CONTENT
>     10.table = pages
>     10.select.pidInList.data = field:uid
>     10.renderObj = TEXT
>     10.renderObj.field = uid
>     10.renderObj.wrap = |,
>     20 = TEXT
>     20.field = uid
>    }
>    10.level2uids.cObject < .10.level1uids.cObject
>    10.level2uids.cObject.10.select.pidInList.data = register:level1uids
>    10.level2uids.cObject.20.data = register:level1uids
>    10.level3uids.cObject < .10.level1uids.cObject
>    10.level3uids.cObject.10.select.pidInList.data = register:level2uids
>    10.level3uids.cObject.20.data = register:level2uids
>
>    20 = TEXT
>    20.numRows.table = pages
>    20.numRows.select.pidInList.data = register:level3uids
>    20.dataWrap = {field:title} [|/
>
>    30 = TEXT
>    30.numRows.table = pages
>    30.numRows.select.pidInList.field = uid
>    30.wrap = |]
>   }
>   wrapItemAndSub = <li>|</li>
>  }
> }
> 10.2 < .10.1
> 10.3 < .10.1
> }
> page.65 < lib.subcountmenu
> -- cut --
>
> This should work with a 3 level menu structure. If you need more levels, 
> you'll have to add a "level4uids", "level5uids" in the LOAD_REGISTER 
> object, similar to the ones for "level2uids" and "level3uids", and then 
> use that register value in the 20 object.
>
> --
> Peter Klein / Umloud Untd.
>
> "Bernd Wilke" <xoonsji02 at sneakemail.com> wrote in message 
> news:mailman.1.1182540689.24631.typo3-english at lists.netfielders.de...
>> Hello,
>>
>> I want to display in my menus the count of subpages to each page.
>>
>> I have finished the first iteration:
>> count of pages which are direct children.
>> (see my HP (german!))
>>
>> But my idea was the count of all pages beneath every page.
>>
>> example:
>>
>> root (13/3)
>> +-page (3/2)
>> |  +-page (1/1)
>> |  |  +-page (0/0)
>> |  +-page (0/0)
>> +-page (6/3)
>> |  +-page (3/2)
>> |  |  +-page (0/0)
>> |  |  +-page (1/1)
>> |  |     +-page (0/0)
>> |  +-page (0/0)
>> |  +-page (0/0)
>> +-page (1/1)
>>    +-page (0/0)
>>
>> The first number gives the count of all pages beneath
>> the second number gives the number of direct children
>>
>> the whole would be easy in php (extension or userfunc), but maybe someone
>> knows a way to solve it with pure typoscript?
>>
>> Bernd
>> -- 
>> http://www.pi-phi.de/t3v4/cheatsheet.html
>
> 




More information about the TYPO3-english mailing list