Danke Dir, das kann ich gleich verbauen.
Hier noch eine kurze Frage. Was hat dieses »nonce« mit diesem ewigen Hash zu bedeuten?
Hier noch eine kurze Frage. Was hat dieses »nonce« mit diesem ewigen Hash zu bedeuten?
Desweiteren habe ich noch eine Frage. Wenn ich im <HEAD> mein Javascript einbinde, dass aber dann Daten von dem eingebauten Modul benötigt, ist es dann überhaupt möglich das durchzuführen. Bislang war es so, dass ich zuerst den PHP code hatte und in der gleichen Datei dann das Javascript nachgestellt hatte. Somit konnte ich auf die PHP Variablen zugreifen. In etwa so:
<?php
// Ein Code der mir ein Array erstellt
$dataPoints = array();
// Erstelle das Array
...
?>
<script type="text/javascript>
window.onload() = function() {
var chartTutorial = new CanvasJS.Chart
("tutorialGraph",
{
animationEnabled: true,
theme: "light2",
data:
[
{
type: "pie",
startAngle: 25,
toolTipContent: "<b>{label}</b>: {y}%",
showInLegend: "true",
legendText: "{label}",
indexLabelFontSize: 14,
indexLabel: "{label} - {y}%",
dataPoints: <?php echo json_encode($dataPointsCases); ?>
}
]
}
);
chartTutorial.render(); }
</script>
Alles anzeigen
Wie man deutlich erkennt, kann ich hier im Javascript auf die $dataPoints zurückgreifen. Ich habe aber das Gefühl, dass wenn ich das Javascript im <HEAD> einfüge, dass ich keine Möglichkeit habe auf das Array von meinem PHP Code zurückzugreifen. Wäre noch die Option die Du erwähnt hast, mit »am Ende vom <BODY> zu schicken. Allerdings scheint es mir auch so zu sein, dass ich die Implementierung über »<php echo json_encode($dataPoints); ?>« so nicht mehr verwenden kann.
Tobi
Gut - monolog - ...
Mir fehlen wohl einfach ein paar Grundlagen. Das ich php in meinem javascript verwenden konnte lag daran, dass es eine PHP Datei war, in der ich ein Javascript dabei hatte. Somit funktionierte das also. Jetzt ist es nur noch eine reine Javascript Sache und da geht es dann nicht mehr. Entweder ich finde hier noch eine Lösung (irgendein Workaround) oder ich binde das Script einfach in die PHP (tmpl/default.php) vom Modul ein.
Ich beantworte jetzt meine Frage selber Verzeiht mir diesen Monolog hier aber ggf. bringt es ja irgendwann mal jemandem was.
Ich habe jetzt in meinem Modul noch folgendes angefügt:
echo "<script type=\"text/javascript\">\n";
echo "var dataVisits = " . json_encode($dataVisits) . ";\n";
echo "var dataInteractions = " . json_encode($dataInteractions) . ";\n";
echo "</script>\n";
Damit habe ich die zwei Javascript Variablen, die ich dann in meinem Javascript einbinde. Das Javascript habe ich am <BODY> Ende eingebaut.