[TYPO3-german] Seite mit PHP, HTML, JS einbinden
csvirtual at gmx.de
csvirtual at gmx.de
Sun Sep 29 11:41:17 CEST 2013
Das ist sehr sauber aus und nach der Struktur, die ich auch bräuchte.
Bekomme es leider nicht hin. Ich denke, der Fehler liegt an der Übergabe aus
PHP an Javascript.
Muss ich denn zwingend PHP und Javascript trennen? Bisher (ohne Typo) ist ja
der Javascript-Code komplett in der PHP-Datei. Wenn ich diese einbinde,
sollte doch auch der JS-Code darin ausgeführt werden, oder?
So sieht alles.php aus:
<?php
MySQL-Abfrage, Variable $data wird erstellt
(keine functions)
?>
<HTML>
<body> u.a. Tabellen, die aus JS dynamisch erstellt werden
<script type="text/javascript">
var daten = <?php echo json_encode($data); ?>;
Manipulation, Berechnungen mit daten
...
$(window).load(function() {
Grafik wird aus daten erstellt
}
</script>
</body>
</HTML>
Wenn ich jetzt die PHP-Datei als Ganzes einbinden will mit
includeLibs.test = fileadmin/alles.php
page = PAGE
page.20 = USER_INT
page.20 {
userFunc = user_datenziehen
}
Dann muss ich ha die Funktion user_datenziehen um den PHP-Code legen. Dann
wird ja nur der PHP-Code ausgeführt aber nicht das danach folgende HTML
inkl. JS. Wie würden das denn funktionieren oder ist der Ansatz komplett
absurd?
@Rene: Name sollte jetzt drin sein:)
Danke nochmals
Chris
-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org
[mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Susanne
Gesendet: Samstag, 28. September 2013 09:21
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] Seite mit PHP, HTML, JS einbinden
Hallo csvirtual,
ich musste bereits in einigen Fällen Variablen zwischen Typoscript, php und
Javascript austauschen. Ich habe das so gelöst:
* In Typoscript ein TEMPLATE-Object gebaut, hier als template.file
mein javascript eingebunden.
* Dann den code hier:
* dynJS = PAGE
dynJS {
typeNum = 123 (ein Wert, den du noch nicht auf deiner Seite nutzt)
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type: text/javascript
admPanel = 0
}
20 < temp.meinTemplateObject
}
* Ins page.headerData der Seite, wo die Ausgabe erfolgen soll, muss
dann: <script type="text/javascript"
src="meineURLderSeite&type=45"></script>
* Im TEMPLATE-Object könntest du jetzt marker festlegen und mit werten
füllen, auf die du im Javascript mit ###MEINMARKER### Zugriff hast.
* Die Kommunikation zwischen php und javascript löse ich mit
jQuery.ajax. Im Normalfall nutze ich auch eID, dazu musst du
entsprechend eine Extension anlegen, die dann auch die php-Datei
enthält.
Vielleicht hilft dir das ja weiter?
Gruß
Susanne
Am 28.09.2013 02:45, schrieb csvirtual at gmx.de:
> Hallo Stefan,
>
> danke für deine Hilfe.
>
> Ich habe PHP mit USER eingebunden:
>
> includeLibs.test = fileadmin/test.php
>
> page = PAGE
> page.20 = USER_INT
> page.20 {
> userFunc = user_datenziehen
> }
>
> Da tut sich leider nichts. Kann aber auch daran liegen, dass bei
> Vorschlag von Denis zur Übergabe der PHP-Variable in JS immer
> Syntax-Error angezeigt
> wird:
>
>
> <script type="text/javascript" src
> ="fileadmin/externejs.js"></script>
>
> <script type="text/javascript">myfunction(<?php echo
> json_encode($daten); ?>;)</script> ODER <script
> type="text/javascript">myfunction(<?php echo json_encode($daten);
> ?>)</script> ODER <script type="text/javascript">myfunction(<?php
> echo json_encode($daten); ?>;);</script> ODER <script
> type="text/javascript">myfunction(<?php echo json_encode($daten);
> ?>);</script>
>
> Ich habe jetzt iFrame genutzt. Funktioniert, ist aber nicht das Gelbe
> vom Ei. Gibt es da größere Nachteile?
>
> Wenn ihr dennoch ein Beispielfall/Tutorial kennt für die "richtige"
> Einbindung der Seite, denkt an mich;)
>
> Besten Dank!
>
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org
> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Stefan
> Reichelt
> Gesendet: Freitag, 27. September 2013 19:30
> An: German TYPO3 Userlist
> Betreff: Re: [TYPO3-german] Seite mit PHP, HTML, JS einbinden
>
> Hallo csvirtual,
>
> du koenntest dir in TypoScript ein USER cObject [1] machen das dann
> dein PHP Script ausfuehrt. Kurz gesagt muesstest du dann dein PHP
> Script so umschreiben das es stattdessen eine Funktion enthaelt die
> die gesamte Arbeit macht und dann den HTML Code (und wenn du moechtest
inkl.
> Javascript innerhalb script-tags) erzeugt und per return an TYPO3
> zurueck gibt.
> Um das USER cObject laesst dir dann ueber welchen Weg auch immer deine
> Seite beruht dort wo das Menu hin soll ausgeben.
>
>
> Beste Gruesse
> Stefan
>
> [1]
> http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/User
> AndUse
> rInt/Index.html
> _______________________________________________
> 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
>
_______________________________________________
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