2015-11-04 102 views
1

javascript代碼我想從控制器中的一些人認爲的這樣的代碼如何插入在PHP框架爾康

"<"script> setInterval(function(){ alert("Hello"); }, 3000);"<"/script> 

末插入如何做到這一點的定製內嵌?

回答

3

在PhalconPHP中有多種方法可以做到這一點。根據您的需求,您也許能逃脫剛:

$js='setInterval(function(){alert("Hello");},3000);'; 
$this->view->js=$js; 
從視圖

那麼,你會怎麼做:

<script><?php echo $js; ?></script>

如果需要的JavaScript插入到您的頂級index.phtml從嵌套的視圖,完成這一任務的方法是先編輯ControllerBase.php並定義一個新的集合:
$this->assets->collection('footer');

然後,參照footer收集從頂層index.phtml文件中加入:

<body> 
    <?php echo $this->getContent(); ?> 
    <?php $this->assets->outputJs('footer'); ?> 
</body> 

你也可以使用output('footer')代替,如果你只是想在文檔中一個動態的地方,你可以插入任何HTML類。請注意,一個集合專門處理CSS和JavaScript,因此是outputJS方法,但也可以處理其他用途的其他代碼。還有outputCSS,outputInlineJs,outputInlineCss,outputInline,和簡單地output。請參閱:
http://php-phalcon-docs.readthedocs.org/en/latest/api/Phalcon_Assets_Manager.html

然後編輯ControllerBase.php的資產初始化爲空集合:
$this->assets->collection('footer');
(如果你跳過這一步,你的代碼將如果您的頂級index.phtml文件試圖看到錯誤輸出一個不存在的集合的內容,如果你永遠不會寫入它,所以總是將它初始化爲一個空集合,以便它存在。)

最後,從你想要使用的控制器開始:
$this->assets->collection('footer')->addInlineJs($js);
其中$js是您的內嵌JavaScript,不包括腳本標記。
您也可以使用
->addJs(...)使用外部JavaScript文件。默認情況下,它將相對於您的應用程序目錄,自動插入/。如果您不喜歡此功能,則可以將第二個參數設置爲false,然後它將允許您指定自己的領先/或將您的資源指向其他域。
至於你可以添加到一個集合資產,請參閱: https://docs.phalconphp.com/en/latest/api/Phalcon_Assets_Collection.html

請注意,您還可以從資產視圖添加到您的收藏和變化仍然會出現在最上面的index.phtml

也值得注意的是,你不需要實際使用集合,你可以簡單地使用資產而不需要集合,但我認爲集合更強大,因爲你可以命名它們,所以還有另一個層次的分離你需要管理多種類型的數據集合。

就你要完成的任務而言,如果你只是想給用戶一個信息,這就是Phalcon的flash的用途,不要與用於播放視頻的Adobe Flash混淆。 Phalcon的flash用於向用戶閃爍消息,例如錯誤消息,或者表單提交成功消息。請參閱:
https://docs.phalconphp.com/en/latest/reference/flash.html

如果你還在困惑什麼是閃存,它的輸出是一個演示,你可以在這裏截圖中看到:https://docs.phalconphp.com/en/latest/_images/invo-2.png 分別是->error(...)->notice(...)輸出。 Flash組件會跟蹤您想要顯示給用戶的一組消息。然後,一旦準備好將它們展示給用戶,您可以致電
<?php echo $this->flash->output(); ?>。最好從最頂級的模板或始終包含在最頂級模板(如導航模板)中的模板進行此調用,以便您可以輕鬆地向用戶顯示消息。這對調試也很有用。我建議使用twitter bootstrap來設置Flash輸出的樣式。

,你可能會發現一些有用的示例應用程序:
https://github.com/phalcon/invo
https://github.com/phalcon/vokuro
https://github.com/phalcon/website
https://github.com/phalcon/forum

延伸閱讀:
https://docs.phalconphp.com/en/latest/index.html

+0

非常感謝你much.All你寫的作品。你對我很有幫助 Phalcon是非常好的框架 – yasen