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 に答える