[TYPO3-german] Seite mit PHP, HTML, JS einbinden

csvirtual at gmx.de csvirtual at gmx.de
Sat Oct 12 01:28:13 CEST 2013


Hallo Stephan,

ich hatte Bernds Antwort gesehen, aber konnte das bis eben nicht wirklich umsetzen. Habe jetzt jede Zeile meines HTML-Codes mit $content .= '...'; eingerahmt. Es klappt insofern, dass endlich der externe Code an der richtigen Stelle (dort wo der Marker ist)  im Frontend ausgegeben wird. Dankeschön an Dich und Bernd für den Hinweis mit dem String. 

Einziges Problem ist, dass der JS-Code nicht ausgeführt wird. Dieser steht im Body des HTML-Teils und ist nicht mit $content .= '...' eingrahmt (hatte ich auch mal versucht). Die Einbindung der JS-Libraries erfolgt im head-Teil (eingerahmt).

So schauts aus:

<?php
function user_datenziehen($content= ' '){
:
:
$content .='<html>';
$content .='<head>';
$content .='<script type="text/javascript" src="fileadmin/jscript/jquery-1.10.2.min.js"></script>';
$content .='<link rel="stylesheet" type="text/css" href="fileadmin/design.css">';
$content .='</head>';
$content .='<body>';
:
:
?>

<script type="text/javascript">
	JS-Code hier
</script>

<?php
$content .='</body>';
$content .='</html>';
return $content;
}
?>


Ein letzter Hinweis zum JS-Code wäre super.

Danke & Gruß
Chris

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Stephan Schuler
Gesendet: Freitag, 11. Oktober 2013 21:10
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] Seite mit PHP, HTML, JS einbinden

Hallo Chris.

Hast du Bernds Kommentar von vor 11 Tagen gelesen?
> vermutlich erfolgt deine Ausgabe mit 'echo', was nicht TYPO3-Stil ist.

Du machst immer noch den gleichen Fehler: Dein Script produziert die Ausgabe per echo oder print_r. Technisch schreibt dein Script seine Ausgabe in den PHP-Output-Buffer.

So funktioniert TYPO3 aber nicht. Erst sammelt TYPO3 seinen Output vollständig ein einem String (eigentlich in mehreren, aber das spielt jetzt keine großartige Rolle). Dadurch wird zu Beispiel ermöglicht, dass ein Script auch CSS- oder JS-Dateien im HTML-Header einbinden kann, selbst wenn es eigentlich den primären Ausgabebereich der Seite mittig im Body bewohnt.

Richtig wäre -- und das hat dir Bernd geschrieben -- wenn deine Funktion den String mit "return" zurückgeben würde.
Effekt dieser Konfiguration wäre unmittelbar, dass das Script direkt über den Browser aufgerufen *keine* Ausgabe erzeugt.

Gruß,


Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Website: media.netlogix.de



--
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: info at netlogix.de | Internet: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338) Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



________________________________________
Von: typo3-german-bounces at lists.typo3.org [typo3-german-bounces at lists.typo3.org]&quot; im Auftrag von &quot;csvirtual at gmx.de [csvirtual at gmx.de]
Gesendet: Freitag, 11. Oktober 2013 16:22
An: 'German TYPO3 Userlist'
Betreff: Re: [TYPO3-german] Seite mit PHP, HTML, JS einbinden

Hallo Silke,

ich konnte mich leider dem Problem zwei Wochen nicht annehmen, aber habe deine Lösung probiert. Einbinden und Auswählen als Content-Element klappt, aber leider ist auf der Seite nichts zu sehen. Ich glaube es liegt daran, dass ich nicht den HTML-Code (inkl. JS?)  über $content zurückgebe (wüsste nicht wie ich dahin komme).

Wie gesagt, bekomme ich es mit

temp.EINBINDEN = USER_INT
temp.EINBINDEN.userFunc = user_datenziehen page.includeLibs.test = fileadmin/alles.php

angezeigt, nur leider immer oben auf der Seite und nicht dort wo Marker im Template steht.

Die Extension DB Integration (wfqbe) ist wohl auch keine Lösung?

Danke nochmals
VG
Chris

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org
[mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Silke Capo
Gesendet: Montag, 30. September 2013 10:09
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] Seite mit PHP, HTML, JS einbinden

Hallo,

ich hatte gerade auch das Problem, ein altes PHP-Skript auf einer Seite enbinden zu müssen. Wenn du das ganze als Inhalteselement haben möchtest, dann probier doch mal die Extension "tscobj". Du nimmst deinen Code von
unten:

includeLibs.test = fileadmin/test.php

page = PAGE
page.20 = USER_INT
page.20 {
    userFunc = user_datenziehen
}

statt dem Page machst du ein lib

lib.daten = USER_INT
lib.daten {
    userFunc = user_datenziehen
}

Dieses lib kannst du dann in der Extension einfach auswählen.

Wichtig ist nur, dass dein PHP-Skript (die aufgerufene function) den HTML-Code komplett in der Variablen $content zurückgibt. Der zurückgegebene Code wird direkt in die Seite integriert.

Grüßle
Silke


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



More information about the TYPO3-german mailing list