[TYPO3-german] Anfänger - ganz was einfaches: Pagetitle anhand der ID herausfinden

JoH info at cybercraft.de
Fri Sep 29 20:19:28 CEST 2006


>>>> mal ganz was einfaches ;-)
>>>>
>>>> Ich habe eine Extension. In dieser möchte ich einen Link zu einer
>>>> Seite erzeugen, von der ich die ID kenne.
>>>>
>>>> Wie bekomme ich den Namen der zu verlinkenden Seite heraus, damit
>>>> ich einen Link à la:
>>>>
>>>> <a href="page_with_id_5">Titel der Seite mit ID 5</a>
>>>>
>>>> erzeugen kann.
>>>>
>>>> Etwas umständlich scheint mir folgendes zu sein:
>>>>
>>>> $page = t3lib_div::makeInstance('t3lib_pageSelect');
>>>> $pageContent = $page->getPage($pageId); //get page record by pageId
>>>> $title = $pageContent['title']; //get title
>> [...]
>> Ganz einfach heißt nicht, dass es ganz richtig ist. Wie die angegeben
>> Funktion zeigt, muss die Variable $str gesetzt werden. Und das ist
>> die Frage: woher bekommt er den Seitentitel?
>>
>> 1) Version:
>> Einfach DB Abfrage
>> $res=$GLOBALS['TYPO3_DB']->exec_SELECTquery(
>> 'title',
>> 'pages'
>> 'pid='.$pid
>> );
>> nun den title holen und in o.g. Lsg einsetzen
>
> Ahja! Okay, so habe ich es nun gemacht. Ist wohl sauberer so.

Und jetzt machen wir's mal ganz einfach und noch sauberer ;-)
Und zwar mit TypoScript genauer gesagt mit typolink:

userFunc = myClass->myFunction
userFunc {
    myLink = TEXT
    myLink [
        typolink.parameter = ###MYID###
    }
}
Der Title wird dann automatisch geholt.

Im PHP kannst Du ohne Probleme die ###MYID### durch die bekannte ID
ersetzen, denn typolink erwartet dort lediglich einen Integer Wert., Das
Ganze wird dann per
$link = $this->cObj->cObjGetSingle($conf['myLink'],$conf['myLink.']);
erzeugt.

Vorteil: Du kannst im Typoscript problemlos weitere Dinge wie ATagParams
etc. hinzufügen und sogar automatisch einen Popuplink erzeugen, ohne Dein
PHP jemals wieder anzufassen.

myLink = TEXT
myLink [
    typolink.parameter = ###MYID### 400x300 myClass myTitle
}

Die Parameter werden einfach hinten dran gehängt und per Leerzeichen
separiert.
Statt 400x300 kann auch ein anderes Target definiert werden, z.B. _top oder
_blank, dann gibt's aber kein echtes Popupfenster.

Weiteres hier:
http://typo3.org/documentation/document-library/references/doc_core_tsref/current/view/5/8/

Viel einfacher und komfortabler geht's eigentlich kaum ...

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your knob sometimes!)
Dieter Nuhr, German comedian
openBC: http://www.cybercraft.de
T3 cookbook: http://www.typo3experts.com





More information about the TYPO3-german mailing list