2012-10-21 35 views
3

考慮以下兩個文件:在爾康包括JavaScript意見

// view/index.phtml 
echo \Phalcon\Tag::javascriptInclude("javascript/jquery.js"); 
// view/about/about.phtml 
echo \Phalcon\Tag::javascriptInclude("javascript/x.js"); 

談會產生這樣的:

<script src="javascript/x.js"> 
<script src="javascript/jquery.js"> 

x.js文件依賴jquery.js所以它應該放在前。

回答

4

假設你有以下結構:

app/views/index.phtml 
app/views/about/index.phtml 

您可以定義在app/views/index.phtml以下頂部

<?php echo \Phalcon\Tag::javascriptInclude("javascript/jQuery.js"); ?> 
<?php echo \Phalcon\Tag::javascriptInclude("javascript/myother.js"); ?> 

然後在app/views/about/index.phtml

<?php echo \Phalcon\Tag::javascriptInclude("javascript/x.js"); ?> 

那倒得到jQuery.jsmyother.js個腳本加載x.js不前,因爲x.js會與

<?php echo $this->getContent() ?> 

主視圖或者,你可以在你的主視圖設置此:

<?php echo \Phalcon\Tag::javascriptInclude("javascript/jQuery.js"); ?> 
<?php echo \Phalcon\Tag::javascriptInclude("javascript/myother.js"); ?> 
<?php if ($is_about) { echo \Phalcon\Tag::javascriptInclude("javascript/myother.js"); } ?> 

,並在你的關於控制器

$this->view->setVar('is_about', TRUE); 

HTH

+1

謝謝你,你的解決方案的工作,但它忽略萬阿英,蔣達清呢!我們希望所有的js文件都放在頁面的底部。 Phalanger應該將js文件放在一個隊列中並在頁面底部正確顯示它們。另一種爲js文件指定優先級的方法'<?= \ Phalcon \ Tag :: javascriptInclude(「javascript/jQuery.js」,0); ''即使它可以使用js minizer – PHPst

+0

由於加載文件沒有優先級(目前),它們會在應用程序流動時被線性分析。對您的問題的解決方案可能不是最優的(正如您提到的優先級功能),將這些文件組合在一起,並按照依賴性順序加載它們。 –