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 csvirt...@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-boun...@lists.typo3.org
[mailto:typo3-german-boun...@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 csvirt...@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-boun...@lists.typo3.org
[mailto:typo3-german-boun...@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 csvirt...@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-boun...@lists.typo3.org
[mailto:typo3-german-boun...@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@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

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

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

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

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

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


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

Antwort per Email an