Hi M or IAmThatSTrange,

(It's custom in TYPO3 lists to use your real name)

On 22-2-2011 21:23, IAmThatSTrange wrote:
I have a query that get's exactly what I want in a straight db query, I've
just no clue how to put this into Typoscript.

the Query:

SELECT t.uid, t.pid, bodytext
FROM tt_content t
WHERE pid IN (SELECT p1.uid FROM pages p1 LEFT JOIN pages p2 ON p1.pid =
p2.uid where p2.pid = 17523 and p1.hidden = 0 and p1.deleted=0)
order by tstamp desc

I would split it in two parts.

1. Perform the inner query to retrieve the pids. Use renderObj and a clever wrap to make a comma separated list of pids.

2. Store the result in the register (LOAD_REGISTER)

3. Perform the outer query. In 4.4+ you can use ###markers### in virtually all parts of the select property. Markers have full stdWrap support so you can fill them with stored list of pids.
So you can simply use pidInList = ###pidlist###

--------------------

If you want it shorter you can put the results of 1. directly into the marker of the pidlist:
markers {
        pidlist.cObject = CONTENT
        pidlist.cObject {
                table = pages
                select {
                        selectFields = pages.uid
                        leftjoin = pages AS p2 ON pages.pid=p2.uid
                        where = p2.pid=17523
                }
                renderObj = ....
        }
The check for deleted and hidden items is done automatically in CONTENT objects.

Take one step at a time: first test comma separated list in your page, then test the rest with a hardcoded list of pids, finally combine the two.

Documentation for markers: http://goo.gl/VduM7 (#13940: Added marker in CONTENT object)

--
Kind regards / met vriendelijke groet,

Jigal van Hemert
skype:jigal.van.hemert
msn: ji...@xs4all.nl
http://twitter.com/jigalvh
_______________________________________________
TYPO3-english mailing list
TYPO3-english@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-english

Reply via email to