[英]highchart to views in cakephp 2.4
我试图将HighCharts与ChakePHP 2.4。*一起使用,但找不到在“视图”中查看图表的好方法。
我已经通过GitHub安装cakephp-high-charts-plugin 。 如果我转到演示路径,它会运行,但是当我在plugins目录之外使用控制器时,
<?php echo $this->HighCharts->render('ManageStates'); ?>
Cake PHP返回
错误:找不到图表:“ 1”。 确保图表名称与视图中传递给$ this-> HighCharts-> render()的字符串相同。 文件:/var/www/armoire/app/Plugin/HighCharts/View/Helper/HighChartsHelper.php行:99
我的控制器:
class CreagraphsController extends AppController {
public $name = 'Graphique etats';
public $components = array('HighCharts.HighCharts');
public $helpers = array('HighCharts.HighCharts');
public $uses = array();
public function Creagraphs() {
$chartName = 'ManageStates';
$mychart = $this->HighCharts->create( $chartName,'column' );
$this->HighCharts->setChartParams
(
$chartName
);
}
}
我可以使用我的目录控制器来创建图表,如何执行此操作?
就像我在这里自己说的那样; 渲染时cakephp highchart致命错误
该插件尚未在高于1.3的任何其他版本中进行测试,因此无法正常工作。 开发人员正在为2.5创建一个新版本,应该很快发布。 :)
CakePHP Highcharts插件旨在支持CakePHP 2. *及更高版本,而不支持该版本之前的版本。 另外,该插件中包含的示例旨在用作有关如何设置自己的控制器和视图以在自己的项目中呈现图表的用法指南。
有人问这个问题:“我可以使用目录控制器来创建图表吗,我该怎么做?”
答案是可以的,您应该使用目录控制器来创建图表。 您如何去做呢? 简单:
public $components = array('Highcharts.Highcharts');
。 这还将把Highcharts插件帮助程序自动加载到您的视图中(该组件将为您处理)。 :
public function pie() {
// N.B your $chartData array will be accessed from your model
$chartData = array(
array(
'name' => 'Chrome',
'y' => 45.0,
'sliced' => true,
'selected' => true
),
array('IE', 26.8),
array('Firefox', 12.8),
array('Safari', 8.5),
array('Opera', 6.2),
array('Others', 0.7)
);
$chartName = 'Pie Chart';
$pieChart = $this->Highcharts->create( $chartName, 'pie' );
$this->Highcharts->setChartParams(
$chartName,
array
(
'renderTo' => 'piewrapper', // div to display chart inside
'chartWidth' => 1000,
'chartHeight' => 750,
'chartTheme' => 'gray',
'title' => 'Browser Usage Statistics',
'plotOptionsShowInLegend' => TRUE,
'creditsEnabled' => FALSE
)
);
$series = $this->Highcharts->addChartSeries();
$series->addName('Browser Share')
->addData($chartData);
$pieChart->addSeries($series);
}
创建或修改目录视图文件夹以包含一个名为pie.ctp
的文件(以匹配您的控制器操作的名称),并添加以下代码:
<div id="piewrapper" style="display: block; float: left; width:90%; margin-bottom: 20px;"></div> <?php echo $this->Highcharts->render('Pie Chart'); ?>
这里应注意两点:
$this->Highcharts->setChartParams()
的数组中的“ renderTo
”键指定的值匹配。 $chartName
设置的值必须与在视图中传递给调用$this->Highcharts->render()
的值相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.