2011-06-02 205 views
0

所以我有一個HTML頁面,我想拆開並以更開發友好的方式放入我的網站。我正在使用iframe,但現在我決定將它集成到我的.tpl文件中。對於我的生活,我無法弄清楚如何在.tpl中包含一個自定義的js文件其他文件包含的方式是在一個php文件中,但這只是包含配置文件。我設法把.tpl中的HTML放在正確的位置,我需要的最後一部分就是javascript。我相信問題是JS使用Jquery,所以我需要包含該庫,但我似乎無法使其工作。有任何想法嗎?我用文字和沒有任何工作....如何在.tpl中包含自定義JS(JQuery)文件?

我可以reqeust

+0

我請你提供例子。 – Petah 2011-06-02 00:53:27

+0

你使用的是什麼模板引擎?或者你只是有一個str_replace()方法?無論哪種方式,我不明白你爲什麼不能編輯模板文件。或者添加你想要的JS代碼,或者添加一個PHP腳本可以提取的參考點。 – 2011-06-02 00:55:31

+0

@ Battle_707爲什麼不把它作爲答案?從「無論哪種方式」開始,添加一些細節 – SinistraD 2011-06-02 01:14:30

回答

1

所以我設法解決它,我在模板文件和PHP文件中使用我包括配置,然後根據該$(文件)。就緒(功能(){});

0

當你說「太平人壽」你說的是Smarty的模板,我懷疑提供代碼示例。 (這是比「tpl」更受歡迎的標籤)

理想情況下,應該設置現有的模板系統,以便有一些約定(例如{capture})或其他一些設施(如plugin)可讓您以「追溯」將<script type="text/javascript" src="xxx.js"></script>置於文檔的<head>中。

但是,您也可以將<script></script>標籤放入頁面正文中。

如果你想直接直接進入JavaScript中,你幾乎肯定會需要的Smarty {literal}保護,但這只是因爲否則的Smarty會爆炸試圖處理所有JavaScript的{},如果他們是直接的TPL文件中。

0

根據您的模板引擎,您可以直接在代碼中直接編輯您的模板文件,或者您可以放入一個參考點,然後您的模板引擎可以啓動。

如果腳本需要在運行該模板文件時在所有頁面上運行,則可以直接將javascript代碼放入模板文件中。這裏有一些主要的未知數,所以你應該總是回頭看看你的模板引擎的支持;例如,如果代碼需要在頭文件中運行,那麼您的引擎可能有專門的方法來注入代碼。將代碼直接放入模板文件的好處是,如果您願意,每次都不會浪費任何額外資源「模板化」。

如果您只想在特定頁面上運行腳本,但不僅僅是那些頁面使用該模板文件,您需要向模板文件添加一個錨點,然後編輯您的PHP腳本以將其放入/根據您的需要忽略錨點。錨,驚喜,驚喜,與不同的模板引擎強烈不同。正如達裏安指出的那樣,Smarty將接受用花括號劃定的錨,但這對你的情況可能不起作用。如果模板文件已加載並且頁面不應該使用該腳本,請確保刪除您的php腳本中的錨點。所以,你的PHP應類似於此:

if ($onRightPage) { 

    // Call engine function to add in the script 

} else { 

    // Call engine function to remove the anchor 

}