2009-12-05 59 views
0

我目前正在研究將在每個用戶儀表板上實現用戶可定製小部件的應用程序。用戶可以隨意添加和刪除小部件。每個小部件都包含在其自己的元素中,有些具有需要單獨加載的JavaScript文件。

我遇到的當前問題是,如果我嘗試使用以下代碼在元素中將JavaScript鏈接到$ scripts_for_layout中,則什麼都不會發生。

<?php $javascript->link('widgets/blog',false); ?> 

環視了一下之後,如果發現在CakePHP的bug跟蹤系統,這可以解釋爲什麼和評論者甚至提出了一個解決辦法,可以解決這個問題一個ticket

<?php echo join("\n\t", $this->__scripts); ?> 

我試圖用這個,但它似乎沒有工作。有沒有人知道這個問題的任何其他解決方法,甚至有更好的建議如何做到這一點?

+0

您是使用佈局還是視圖中的元素? – deceze 2009-12-05 03:02:28

+0

我從視圖調用這些元素,並在某些情況下調用佈局。從視圖調用主要是我真的需要它的地方。 – Shard 2009-12-05 03:58:52

回答

0

經過研究,我發現這是不可能的,因爲cakephp是如何構建的。

0

我不明白爲什麼$javascript->link(…, false)不應該在一個單元工作,但你可以試試這個:

$this->addScript($javascript->link('path/to/script')); 

應該在視圖中工作。在佈局中,正如您鏈接到的錯誤中指出的那樣,這將不起作用,因爲在渲染元素時已經輸出了頭文件腳本。

0

當佈局文件包含該元素時,我不認爲您可以使用元素中的$ javascript->鏈接。如果我錯了,有人糾正我。

0

這應該做的工作:

<?php echo $javascript->link('widgets/blog',false); ?> 

也許你只是忘記了回聲?

相關問題