[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