PHPを使用してJSスクリプトをHTMLソースドキュメントに書き込もうとしています。私は他の多くのフォーラムを調査しましたが、それでもエラーを完全に特定することはできません。
私が埋め込もうとしているJSスクリプトは、デフォルトのYUIChartingLibraryスクリプトの構文に従います。
私のphp文字列出力(エコーから生成:$ data-> dump_yui($ row_numbers = false、$ col_letters = false、$ sheet = 0、$ table_class ='excel');)がパラメータr'qdに適切に適合していると仮定します。 YUIスクリプト構文、HTMLドキュメントにスクリプトを埋め込むのはどこで間違っていますか?
HTMLでJavaScriptに記述されたPHP:
<?php
echo "<script language=javascript>";
echo 'document.write("YUI().use('charts',function(Y){var myDataValues = [';
echo $data->dump_yui($row_numbers=false, $col_letters=false, $sheet=0, $table_class='excel');
echo "<br>];<br><br>var styleDef = {series:<br>{Stock:{line:{color:'#898DD5'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#222',alpha:0,wmode:'transparent'},over:{fill:{color:'#eee'},border:{color:'#000'},width:9,height:9}}},<br>Liability:{line:{color:'#171944'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#222',alpha:0,wmode:'transparent'},over:{fill:{color:'#eee'},border:{color:'#000'},width:9,height:9}}},<br>Shipment:{line:{color:'#ff0000',alpha:0,wmode:'transparent'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#ff0000',alpha:0,wmode:'transparent'},over:{fill:{color:'#ff0000',alpha:0,wmode:'transparent'},border:{color:'#000',alpha:0,wmode:'transparent'},width:16,height:16}}},<br>Production:{line:{color:'#FFD700',alpha:0,wmode:'transparent'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#FFD700',alpha:0,wmode:'transparent'},over:{fill:{color:'#FFD700',alpha:0,wmode:'transparent'},border:{color:'#000',alpha:0,wmode:'transparent'},width:16,height:16}}},<br>Order:{line:{color:'#006400',alpha:0,wmode:'transparent'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#006400',alpha:0,wmode:'transparent'},over:{fill:{color:'#006400',alpha:0,wmode:'transparent'},border:{color:'#000',alpha:0,wmode:'transparent'},width:16,height:16}}}}};<br>var myAxes={dateRange:{keys:['date'],position:'bottom',type:'category',title:'Date Range',styles:{majorTicks:{display:'none'},label:{rotation:-45,margin:{top:5}},title:{fontSize:'90%'}}}};var mychart=new Y.Chart({dataProvider:myDataValues,interactionType:'planar',render:'#mychart',categoryKey:'Date',styles:styleDef,categoryType:'time',horizontalGridlines:{styles:{line:{color:'#fff'}}},verticalGridlines:{styles:{line:{color:'#fff'}}}});<br>});";
echo '");';
echo "</script>";
?>
(「document.write」を含めずにスクリプトを実行してみました)
私はPHPに対してかなり環境に配慮しています。何かアイデアはありますか?
_ __更新(7月18、12):フィードバックをありがとう-私はすべての修正を試しましたが、コードでチャートがまだレンダリングされていません:
<?php
echo "<script type='text/javascript'>";
echo 'document.write("YUI().use(\'charts\',function(Y){var myDataValues = [';
echo $data->dump_yui($row_numbers=false, $col_letters=false, $sheet=0, $table_class='excel');
echo "\n];\n\nvar styleDef = {series:\n{Stock:{line:{color:'#898DD5'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#222',alpha:0,wmode:'transparent'},over:{fill:{color:'#eee'},border:{color:'#000'},width:9,height:9}}},<br>Liability:{line:{color:'#171944'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#222',alpha:0,wmode:'transparent'},over:{fill:{color:'#eee'},border:{color:'#000'},width:9,height:9}}},<br>Shipment:{line:{color:'#ff0000',alpha:0,wmode:'transparent'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#ff0000',alpha:0,wmode:'transparent'},over:{fill:{color:'#ff0000',alpha:0,wmode:'transparent'},border:{color:'#000',alpha:0,wmode:'transparent'},width:16,height:16}}},<br>Production:{line:{color:'#FFD700',alpha:0,wmode:'transparent'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#FFD700',alpha:0,wmode:'transparent'},over:{fill:{color:'#FFD700',alpha:0,wmode:'transparent'},border:{color:'#000',alpha:0,wmode:'transparent'},width:16,height:16}}},<br>Order:{line:{color:'#006400',alpha:0,wmode:'transparent'},marker:{fill:{color:'#eee',alpha:0,wmode:'transparent'},border:{color:'#006400',alpha:0,wmode:'transparent'},over:{fill:{color:'#006400',alpha:0,wmode:'transparent'},border:{color:'#000',alpha:0,wmode:'transparent'},width:16,height:16}}}}};<br>var myAxes={dateRange:{keys:['date'],position:'bottom',type:'category',title:'Date Range',styles:{majorTicks:{display:'none'},label:{rotation:-45,margin:{top:5}},title:{fontSize:'90%'}}}};var mychart=new Y.Chart({dataProvider:myDataValues,interactionType:'planar',render:'#mychart',categoryKey:'Date',styles:styleDef,categoryType:'time',horizontalGridlines:{styles:{line:{color:'#fff'}}},verticalGridlines:{styles:{line:{color:'#fff'}}}});<br>});";
echo '");';
echo "</script>";
?>
** _ 更新(7月20、12):
皆さんの追加のフィードバックに感謝します。3つのコードスニペットを含むページをサーバーにプッシュしました(ある程度整理された方法で)。
...まだこのバグを潰すことができません!