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

Susanne sw1977 at online.de
Sun Sep 29 12:37:07 CEST 2013


Hallo Chris,

ich meinte das in etwa so (ungetestet, aber so würdest du dein 
HTML-Konstrukt ebenfalls mit der Funktion user_datenziehen aufrufen ):
<?php

     function user_datenziehen() {
         MySQL-Abfrage, Variable $data wird erstellt
?>
     <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>
<?php
   }

?>

Gruß
Susanne

Am 29.09.2013 12:25, schrieb csvirtual at gmx.de:
> Hallo Susanne,
>
> was meinst Du mit HTML? Ich habe in alles.php die Reihenfolge PHP-Code (hier
> ist alles mit function user_datenziehen umschlossen) dann HTML und darin
> Javascript. Wenn ich es mit USER_INT einbinde, so wie geschrieben, wird mir
> die Seite (HTML) schon anzeigt, aber mit dem Fehler: "TypeError: daten is
> null". Also klappt wohl die Übergabe nicht. Was ich auch nicht verstehe ist,
> dass der HTML+JS-Teil angezeigt werden, obwohl ich nur die Funktion
> user_datenziehen aufrufe, die ja nur im PHP-Teil ist...ohwe
>
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org
> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Susanne
> Gesendet: Sonntag, 29. September 2013 12:04
> An: German TYPO3 Userlist
> Betreff: Re: [TYPO3-german] Seite mit PHP, HTML, JS einbinden
>
> Hallo Chris,
>
> ich hab bis jetzt immer Javascript und php voneinander getrennt.
>
> Aber mal als Idee: Hast du mal versucht, das HTML in die Funktion
> user_datenziehen einzuschließen? Dann müsste es doch eigentlich
> funktionieren.
>
> Gruß
> Susanne
>
> Am 29.09.2013 11:41, schrieb csvirtual at gmx.de:
>> 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/Use
>>> r
>>> 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
>>
>> _______________________________________________
>> 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