Hi Joey,

Danke für den Tip.
Folgendermaßen hab ich es nun gelöst:

function main($content,$conf)   {
        ...
                while($data = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))
                { 
                        if($this->DB_PID_SearchUpperPid($data['pid'])) {
                                $content .='<prod>...</prod>';
                        }
                }
        ...
}

function DB_PID_SearchUpperPid($pid) {
                $page = 
$GLOBALS['TYPO3_DB']->exec_SELECTquery('pid,uid,doktype','pages','uid='.$pid.' 
'.$this->cObj->enableFields('pages'));
                $arr_page = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($page);

                if($arr_page['uid']==$GLOBALS['TSFE']->id) {
                        return true;
                } 
                else if($arr_page['uid']==0) {
                        return false;
                } 
                else {
                        return $this->DB_PID_SearchUpperPid($arr_page['pid']);
                }
        }

Also praktisch mit einer Funktion mit einem rekursiven Aufruf,
die sich durch die Rootline hangelt und dort die PIDs prüft.

Gruß,
Daniel

-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von JoH asenau
Gesendet: Samstag, 31. Oktober 2009 15:10
An: typo3-german@lists.typo3.org
Betreff: [spam] Re: [TYPO3-german] PID-Struktur pr�fen?

> ich kann also mit
>
> $GLOBALS['TSFE']->id
>
> Die aktuelle PID auslesen. Aber wie kann ich nun
> Pr|fen, ob meine Sysordner-IDs in dessen Rootline sind?

Andersrum wird ein Schuh draus:
Die aktuelle ID mu_ in der Rootline eines Sysordners vorkommen.

Da es in der Regel nicht soo viele Sysordner gibt, w|rde ich einfach mal die 
uid aller Sysordner einlesen und f|r jede einzelne mit 
$GLOBALS['TSFE']->sys_page->getRootLine($pageid);
|berpr|fen, ob in dem Array Deine aktuelle Seite vorkommt.

HTH

Joey

--
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!) Dieter Nuhr, German 
comedian
Xing: http://contact.cybercraft.de
Twitter: http://twitter.com/bunnyfield
TYPO3 cookbook (2nd edition): http://www.typo3experts.com



_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an