Zend Framework,FusionCharts,PHP,Javascript

问题描述 投票:0回答:1

这里有点奇怪:我在1.12中有一个Zend Framework设置。我的模型工作正常,我的所有包含都已设置...但在视图中,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();

echo“”;

但是当我在firebug中查看视图时,我得到一个错误,说它在公共目录中找不到FusionCharts.js(路径绝对正确!)。有什么想法会发生这种情况吗?在那。 Firebug读取正确的目录(GET localhost / dashboard / public / fusioncharts / Charts / FusionCharts.js),但是firebug错误表明它无法看到该文件。谢谢您的帮助!!

php zend-framework fusioncharts
1个回答
1
投票

如果文件真的在那里,名称是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]
© www.soinside.com 2019 - 2024. All rights reserved.