[TYPO3-german] [spam] Re: PID-Struktur pr�fen?
Daniel Swjetscharevsky
daniel at thefreeman.de
Sat Oct 31 19:27:09 CET 2009
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-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von JoH asenau
Gesendet: Samstag, 31. Oktober 2009 15:10
An: typo3-german at 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
More information about the TYPO3-german
mailing list