0

这里有点奇怪:我在 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();

回声“”;

但是当我在 firebug 中查看视图时,我收到一条错误消息,指出它在公共目录中找不到 FusionCharts.js(路径绝对正确!)。任何想法为什么会发生这种情况?在那里。Firebug 读取了正确的目录(GET localhost/dashboard/public/fusioncharts/Charts/FusionCharts.js),但firebug 错误说它看不到文件。谢谢您的帮助!!

4

1 回答 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]
于 2012-11-20T07:06:37.097 回答