externes PHP-Script
| Autor | Nachricht |
|---|---|
|
Verfasst am: 03. 01. 2008 [08:36]
|
|
|
tomgr
Themenersteller
Dabei seit: 13.12.2005
Beiträge: 106
|
Moin Alle. Ich würde gerne ein externes PHP-Script in einen Marker einbinden. TYPOSCRIPT marks.AUTOR1.10 = PHP_SCRIPT_EXT marks.AUTOR1.10.file = fileadmin/scripts/script1.php marks.AUTOR1.wrap = <img src="fileadmin/icons/user.gif" width="13" alt="" /> | localconf.php: PHP $TYPO3_CONF_VARS["FE"]["noPHPscriptInclude"]=1; $TYPO3_CONF_VARS['BE']['fileDenyPattern'] = ''; Das GIF wird angezeigt, sonst nichts. Kann da irgendjemand helfen? Gruss, Tom. |
|
Verfasst am: 03. 01. 2008 [13:29]
|
|
|
susanne
Dabei seit: 24.08.2005
Beiträge: 132
|
Hallo Tom, mit PHP_SCRIPT_EXT habe ich noch nie gearbeitet, hatte aber mal ein ähnliches Problem. TYPOSCRIPT page.includeLibs.user_functions = typo3conf/ext/vip_util/class.vip_user_functions.php page.10.marks.USERNAME = USER_INT page.10.marks.USERNAME.userFunc = user_functions->getFEUserName Dies funktionierte nicht, da ich den Klassennamen nicht mit user_ habe beginnen lassen. Im Installtool ist nämlich folgendes voreingestellt: TYPOSCRIPT [userFuncClassPrefix] This prefix must be the first part of any function or class name called from TypoScript, for instance in the stdWrap function. [FE][userFuncClassPrefix] = user Vielleicht gilt das auch für PHP_SCRIPT_EXT. Ansonsten aktivier dir mal das Adminpanel fürs Frontend. Unter dem Punkt Typoscript findest du dann eventuell vorhandene Fehlermeldungen. Tschau Susanne |
|
Verfasst am: 03. 01. 2008 [14:48]
|
|
|
tomgr
Themenersteller
Dabei seit: 13.12.2005
Beiträge: 106
|
Hallo Susanne. Ich habe in meinem PHP-Script nur eine Funktion drinne, auch die fängt mit "user_" an. Adminpanel ist aktiviert, keine Fehlermeldung zu entdecken. Ich habs auch mit ".inc" versucht, nichts. An die Webserver-Logs komme ich im Moment nicht dran, liegen beim Provider. Irgendwie kann das doch nicht so schwer sein ein externes Script einzubinden ohne eine Extension zu schreiben. Gruss, Tom. |
|
Verfasst am: 04. 01. 2008 [09:49]
|
|
|
Kitsunet
Dabei seit: 02.02.2006
Beiträge: 2034
|
Aber in deiner PHP Datei wird die Funktion auch aufgerufen? Du musst im Prinzip in der PHP Datei Code drin haben, der direkt ausgeführt wird und deine Ausgabe musst du in die Variable $content schreiben, dann sollte das gehen. Grüße Christian |
|
Verfasst am: 04. 01. 2008 [11:20]
|
|
|
tomgr
Themenersteller
Dabei seit: 13.12.2005
Beiträge: 106
|
Moin. Hier ist mal die Datei. Der Code funktioniert. Ich hatte das vor längerem einfach in der localconf.php stehen. Ist zwar nicht die moderne, ging aber. Jetzt möchte ich den gerne auslagern. Aber wie? PHP function user_createArticle_Footer() {
global $TYPO3_DB,$TSFE;
// define Date of creation and last update
$createDate = date('d.m.Y',$TSFE->page['crdate']);
if(!empty($TSFE->page['SYS_LASTCHANGED'])) {
$lastUpdate = date('d.m.Y',$TSFE->page['SYS_LASTCHANGED']);
} else {
$lastUpdate = $createDate;
}
// define creator-name and -emailadress
$res = $TYPO3_DB->exec_SELECTquery('realName,email','be_users','uid='.$TSFE->page['cruser_id']);
while($row = $TYPO3_DB->sql_fetch_assoc($res)) {
$creatorRealName = $row['realName'];
$creatorEmail = $row['email'];
}
$TYPO3_DB->sql_free_result($res);
// define revisor-name and -emailadress
if(!empty($TSFE->page['author']) && !empty($TSFE->page['author_email'])) {
$revisorRealName = $TSFE->page['author'];
$revisorEmail = $TSFE->page['author_email'];
} else {
$revisorRealName = $creatorRealName;
$revisorEmail = $creatorEmail;
}
// create articleFooter
$edited = 0;
$content = '<font size="1px" face="verdana" color="#666666">Redakteur/in: <a class=footer href="mailto:'.$creatorEmail.'">'.$creatorRealName.'</a>, Seite erstellt am '.$createDate;
//if($revisorRealName != $creatorRealName && $revisorEmail != $creatorEmail) {
$content .=', zuletzt bearbeitet von: <a class=footer href="mailto:'.$revisorEmail.'">'.$revisorRealName.'</a></font>';
//$edited = 1;
// }
if($lastUpdate != $createDate || $edited == 1) {
$content .=' am '.$lastUpdate;
}
return $content;
} |
|
Verfasst am: 04. 01. 2008 [11:25]
|
|
|
Kitsunet
Dabei seit: 02.02.2006
Beiträge: 2034
|
Ja aber es fehlt ja ein Aufruf der Funktion, eingebunden wird sie vielleicht, aber dann müsste halt noch ein: user_createArticle_Footer(); an das Ende der Datei... |
|
Verfasst am: 04. 01. 2008 [11:36]
|
|
|
tomgr
Themenersteller
Dabei seit: 13.12.2005
Beiträge: 106
|
Helf mir ein bisschen. Bin kein großer Programmierer. |
|
Verfasst am: 04. 01. 2008 [12:28]
|
|
|
Kitsunet
Dabei seit: 02.02.2006
Beiträge: 2034
|
Ich denke, damit es funktioniert müsste deine PHP Datei so aussehen: PHP <?PHP function user_createArticle_Footer() { global $TYPO3_DB,$TSFE; // define Date of creation and last update $createDate = date('d.m.Y',$TSFE->page['crdate']); if(!empty($TSFE->page['SYS_LASTCHANGED'])) { $lastUpdate = date('d.m.Y',$TSFE->page['SYS_LASTCHANGED']); } else { $lastUpdate = $createDate; } // define creator-name and -emailadress $res = $TYPO3_DB->exec_SELECTquery('realName,email','be_users','uid='.$TSFE->page['cruser_id']); while($row = $TYPO3_DB->sql_fetch_assoc($res)) { $creatorRealName = $row['realName']; $creatorEmail = $row['email']; } $TYPO3_DB->sql_free_result($res); // define revisor-name and -emailadress if(!empty($TSFE->page['author']) && !empty($TSFE->page['author_email'])) { $revisorRealName = $TSFE->page['author']; $revisorEmail = $TSFE->page['author_email']; } else { $revisorRealName = $creatorRealName; $revisorEmail = $creatorEmail; } // create articleFooter $edited = 0; $content = '<font size="1px" face="verdana" color="#666666">Redakteur/in: <a class=footer href="mailto:'.$creatorEmail.'">'.$creatorRealName.'</a>, Seite erstellt am '.$createDate; //if($revisorRealName != $creatorRealName && $revisorEmail != $creatorEmail) { $content .=', zuletzt bearbeitet von: <a class=footer href="mailto:'.$revisorEmail.'">'.$revisorRealName.'</a></font>'; //$edited = 1; // } if($lastUpdate != $createDate || $edited == 1) { $content .=' am '.$lastUpdate; } return $content; } $content = user_createArticle_Footer(); ?> |
|
Verfasst am: 04. 01. 2008 [12:50]
|
|
|
tomgr
Themenersteller
Dabei seit: 13.12.2005
Beiträge: 106
|
Leider nichts zu machen. Einfach leer der Marker, bis auf das Icon. (wrap) |
|
Verfasst am: 17. 06. 2008 [16:24]
|
|
|
MWolf
Dabei seit: 09.02.2007
Beiträge: 16
|
Vllt bisschen Alt der Thread, aber in der TSReferenz ist mir folgendes folgendes zu PHP_SCRIPT zuerst ins Auge gesprungen: ANMERKUNG: Diese Option wird ignoriert, wenn in der localconf.php $TYPO3_CONF_VARS["FE"]["noPHPscriptInclude"]=1; gesetzt ist.
|



