这里有点奇怪:我在1.12中设置了一个Zend框架。我的模型工作得很好,而且我所有的includes都是set...but,在视图中,Zend似乎找不到存在的FusionCharts.js文件。我将它添加到下面的操作中,当我检查Firebug上的路径时,它是绝对正确的-但仍然返回一个错误,并声称它无法找到.js文件。不管怎么说--代码如下:
public function indexAction()
{
try{
$model = new Application_Model_DbTable_Daily;
$dau = $model->getStats();
$this->view->dau = $dau;
}
catch(Exception $e) {
$this->view->dau = $e;
}
$this->view->headScript()->appendFile('/dashboard/public/fusioncharts/Charts/FusionCharts.js');
}
所以-在我看来,我得到了:
<?php
echo $this->headScript();
echo "<pre>";
$FC = new FusionCharts("Line", "500", "300");
$FC->setSwfPath("/public/fusioncharts/Charts/");
$strParamDAU = "caption=Daily Active Users;streamlinedData=0;decimals=0;decimalPrecision=0;formatNumberScale=0;slantLabels=1;labelDisplay=ROTATE";
$FC->setChartParams($strParamDAU);
foreach($this->dau as $k=>$v) {
$FC->addChartData($v['session_date'], "label=" . $v['DAU']);
}
$FC->renderChart();
回声"";
但是,当我查看firebug中的视图时,我得到一个错误,指出它在公共目录中找不到FusionCharts.js (路径绝对正确!)。你知道为什么会发生这种情况吗?它就在那里。Firebug读取正确的目录(获取localhost/dashboard/public/fusioncharts/Charts/FusionCharts.js),但是firebug错误表明它看不到文件。谢谢你的帮助!!
发布于 2012-11-20 15:06:37
如果文件确实存在,并且名称为FusionCharts.js:
尝试添加BaseUrl (只是为了安全起见):
$this->view
->headScript()
->appendFile($this->view->baseUrl() . '/dashboard/public/fusioncharts/Charts/FusionCharts.js');
接下来检查你的.htaccess,也许你没有转发JS文件?正确的.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
https://stackoverflow.com/questions/13465973
复制相似问题