Mit Fusion-Diagramm in PHP und Rendering in Smarty Template-Engine
-
03-07-2019 - |
Frage
Mein Problem ist nicht in der Lage das Diagramm in tpl-Datei zu machen. Der folgende Code ist ein Beispiel-Diagramm von Fusion Dokumentenprüfung genommen für Referenz
<?php
include("../Includes/FusionCharts.php");
//Create an XML data document in a string variable
$strXML = "";
$strXML .= "<graph caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units'
decimalPrecision='0' formatNumberScale='0'>";
$strXML .= "<set name='Jan' value='462' color='AFD8F8' />";
$strXML .= "<set name='Feb' value='857' color='F6BD0F' />";
$strXML .= "<set name='Mar' value='671' color='8BBA00' />";
$strXML .= "<set name='Apr' value='494' color='FF8E46' />";
$strXML .= "<set name='May' value='761' color='008E8E' />";
$strXML .= "<set name='Jun' value='960' color='D64646' />";
$strXML .= "<set name='Jul' value='629' color='8E468E' />";
$strXML .= "<set name='Aug' value='622' color='588526' />";
$strXML .= "<set name='Sep' value='376' color='B3AA00' />";
$strXML .= "<set name='Oct' value='494' color='008ED6' />";
$strXML .= "<set name='Nov' value='761' color='9D080D' />";
$strXML .= "<set name='Dec' value='960' color='A186BE' />";
$strXML .= "</graph>";
//Create the chart - Column 3D Chart with data from strXML variable using dataXML method
echo renderChartHTML("../../FusionCharts/FCF_Column3D.swf", "", $strXML, "myNext", 600, 300);
?>
Es funktioniert, wenn ich in normalen .php machen aber wie die renderChartHTML Wert auf die Smarty tpl passieren, so dass es in einem <div>{$chartdata}</div>
erhalten angezeigt wird so groß sein .WOULD wenn irgendein Beispiel in Smarty tpl Fusion Diagramm angezeigt werden.
Ab jetzt bin ich in der Lage um die Grafik zu erhalten wie die $ strXML Zuweisung Variable Smarty und Übergabe der Werte direkt einbetten Parameter. Jemand empfehlen, einen besseren Weg, dies zu tun?
In PHP:
$smarty->assign('strXML', $strXML);
In .tpl:
<embed src="FCF_MSLine.swf" flashVars="&dataXML={$strXML}&chartWidth=900&chartHeight=600" quality="high" width="900" height="600" name="testgraph" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
Lösung
$output = renderChartHTML("../../FusionCharts/FCF_Column3D.swf", "", $strXML, "myNext", 600, 300);
$smarty->assign('chartdata', $output);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow