Typolinks in PHP-Script

Einen Typolink zu generieren ist leicht möglich. Hierzu muss die Klasse tslib_cObj aus der Datei class.tslib_content.php geladen werden. Dann stehen die Typolinkfunktionen zur Verfügung:

Linkfunktionen der Klasse 'tslib_cObj'
*              SECTION: Link functions (typolink)
 * 5038:     function typoLink($linktxt, $conf)
 * 5335:     function typoLink_URL($conf)
 * 5353:     function getTypoLink($label,$params,$urlParameters=array(),$target='')
 * 5380:     function getTypoLink_URL($params,$urlParameters=array(),$target='')
 * 5392:     function typolinkWrap($conf)
 * 5405:     function currentPageUrl($urlParameters=array(),$id=0)
 * 5418:     function getClosestMPvalueForPage($pageId, $raw=FALSE)
 * 5468:     function getMailTo($mailAddress,$linktxt,$initP='?')
 * 5506:     function getQueryArguments($conf,$overruleQueryArgs=array(),$forceArgs=FALSE)

Mit folgendem PHP-Script lässt sich das einfach bewerkstelligen:

PHP
<?php
include_once(PATH_site.'typo3/sysext/cms/tslib/class.tslib_content.php');
echo '<h3>TEST</h3>';
$cObj=t3lib_div::makeInstance('tslib_cObj');
echo $cObj->getTypoLink('hallo',3);
?>
6 Kommentare
#6 Alexander Dick schrieb am 11.10.2011 09:34

Dass es tadellos funktioniert habe ich vergessen zu sagen ;-)

#5 Alexander Dick schrieb am 11.10.2011 09:33

Ich habe es gerade ausprobiert - TYPO3 Version 4.5.6 - das Script wird mit über Typoscript PHP_SCRIPT_EXT eingebunden.

 

include_once(PATH_site.'typo3/sysext/cms/tslib/class.tslib_content.php');

$cObj = t3lib_div::makeInstance('tslib_cObj');

 

$formTarget = $cObj->typoLink_URL(array('parameter' => 286));

#3 Andre schrieb am 17.10.2009 17:16

Bei mir funktioniert das nicht ... Liegt es vielleicht an der aktuellen TYPO3 Version?

#2 steffen schrieb am 08.01.2007 09:57

Hi Tim,

wie der Titel es schon sagt geht das nur im FE. Im BE-Modul scheitert das an GLOBALS['TSFE'], das nicht vollständig gefüllt ist.

#4 Michael schrieb am 11.02.2011 11:25

Hi, thank you for your snippet. It works when I include my php script in TS as a PHP_SCRIPT_INT object but how can I make it work when I call it outside of TYPO3 (e.g. for an ajax call)?

 

Here's the error in output:

 

Fatal error: Call to a member function getPage_noCheck() on a non-object in

 

(can be seen here: bit.ly/hoLJYO )

#1 Tim schrieb am 06.01.2007 20:19

Wie es ausschaut geht dieser Snip in der aktuellen Version nicht mehr. Weil es zu konflikten mit GLOBALS['TSFE'] gibt. Oder liege ich da Falsch?!?!

einen Kommentar schreiben
Typo3